1. A method for compilation comprising: analyzing source code; identifying candidate code for parallelization, wherein said candidate code comprises a loop; determining a profitability of parallelizing the candidate code, wherein determining said profitability comprises: parallelizing the loop, in response to determining a predicted execution time of a parallelized version of the loop is less than an execution time of a non-parallelized version of said loop by at least a given amount; and forgoing parallelization of the loop, in response to determining a predicted execution time of said parallelized version is not less than an execution time of the non-parallelized version of said loop by at least the given amount; generating object code corresponding to the source code, wherein said object code includes both a non-parallelized version of the candidate code and a parallelized version of the candidate code.