A computer-implemented method for optimizing run parameters of a software application on an information processing platform to optimize run time of said software application, said run time being the time spent by said software application to execute, said computer-implemented method consisting of iteratively optimizing said run parameters on each execution of said software application, wherein said computer-implemented method comprises, for each execution of said software application,
- determining, by at least one processor, a set of said run parameters and a run time of said software application with said set of run parameters;
- storing, by said at least one processor, an association between said set of run parameters and said run time in a run history, said run history being stored in a memory and comprising already determined sets of run parameters and associated run times;
- and
- applying a regression function to the run times stored in said run history in association with said already determined set of run parameters, by said at least one processor, so as to estimate the run time, as a function of the sets of parameters, for each possible set of run parameters, and to allow a smoothing of the estimated run times;
- wherein said determining comprises determining said set of run parameters, by said at least one processor, by implementing a genetic optimization algorithm comprising:
- selecting two sets of run parameters from said run history;
- creating a new set of run parameters by recombining said two sets of run parameters;
- and
- creating a random mutation of said new set of run parameters, to get a mutated new set of run parameters, and
- wherein said determined set of run parameters is the mutated new set of run parameters got by said random mutation;
- wherein said computer-implemented method comprises evaluating said determined set of run parameters by executing said software application, and
- wherein said executing comprises carrying out a plurality of executions of said software application with said same determined set of run parameters, and said run time is determined based on said plurality of executions for said determined set of run parameters, and
- wherein said computer-implemented method comprises, in a real-time operating mode, receiving a new request for executing said software application, inferring from said run history a set of run parameters that minimizes the run time and executing said software application with said inferred set of run parameters in response to said new request.