1. A method for compiling source code in parallel, comprising: accessing the source code; identifying types contained within the source code; splitting the types to different modules that form an assembly; performing compilation for each of the different modules that is performed in parallel; and generating executable code for each of the modules.