1. A method comprising: pre-processing a source code of an application to form a pre-processed source code, wherein the source code refers to an external code in a separate file, and wherein the pre-processed source code creates a single file that includes the source code and the external code; profiling the source code to create profile information, the profile information identifying a hot portion having a first degree of hotness; determining a set of environment parameter values, the set of environment parameter values being applicable to a data processing system where the application will execute; causing, at a remote optimizing compiler, a selection of a set of compiler options from a knowledgebase, the selection corresponding to the profile information and the set of environment parameter values; obtaining, from the remote optimizing compiler, an object code resulting from compiling the pre-processed source code using the set of compiler options, wherein the object code is optimized according to the profile information, and the set of environment parameter values; building the executable application using the optimized object code; and identifying, in the profile information, a second hot portion having a second degree of hotness, wherein the hot portion is selected for optimization and the second hot portion is not selected for the optimization, the optimization being performed by the remote optimizing compiler.