The compiler takes a program (the model implementation written by the Swarm modeler), and converts it into a native code so that it can run on the computer's microprocessor.
Native code
Swarm itself is compiled to native code, which makes it fast. In contrast, Java is typically executed as virtual byte-codes for an abstract `Java processor'. Since most PCs today are based on Intel microprocessors the Java byte-code must be interpreted or converted to `Intel code' (or PowerPC, or whatever). This process takes some time and means that Java seems slower than native code in common circumstances.
Even when Swarm users write models in Java, the Swarm parts are run native code. This approach has precedent in the Java community. For example, Java3D uses OpenGL or DirectX native code libraries for performance.
GCC
The compiler that we use to convert Objective C models into native code is called called gcc (http://gcc.gnu.org). "gcc" stands for the "GNU Compiler Collection". gcc is a freely redistributable compiler system that supports a number of languages and many kinds of hardware.
Java compilers
There are several compilers that can be used for converting Java models into bytecode, depending on the system. This information is specified as a part of the binary packaging for Swarm on a given system.