1. A method of compiling a software application comprising a plurality of functions, the method comprising: identifying at least one of the plurality of functions as a targeted function having a significant contribution to performance of the software application; generating a code version of the targeted function with a first of a plurality of machine models, the machine models corresponding respectively to different target utilizations for a target architecture and the first of the plurality of machine models corresponding to a greatest of the different target utilizations; and matching the generated code version of the targeted function with a first application thread of the target architecture.