1. A method for changing a program code to decrease execution time, comprising: receiving a program code, wherein said program code comprises a plurality of function calls, wherein one of said plurality of function calls is an entry function, wherein one of said plurality of function calls is a target function, and wherein an execution time between said entry function and said target function is to be decreased; analyzing said plurality of function calls between said entry function and said target function; generating a first program code comprising some of said plurality of function calls executed before said target function; generating a second program code comprising some of said plurality of function calls executed after said target function; replacing said plurality of function calls executed before said target function with said first program code; removing said plurality of function calls executed after said target function; and adding said second program code to said program code at a location within said program code configured to execute said second program code after said target function as a background process.