1. A method for compilation comprising: analyzing source code; identifying candidate code for parallelization; determining a profitability of parallelizing the candidate code; parallelizing said candidate code, in response to determining said profitability meets a predetermined criteria; and 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.