The figure illustrates the difference in the process of running a Java code using a Java interpreter and an accelerator. In both cases, the Java source code is first compiled into a Java bytecode using a Java compiler. The Java interpreter then interprets the bytecode and runs the application. The accelerator translates the bytecode to a C code, which is then compiled into a native machine code. This code can run from two to ten times faster than the bytecode interpreted by the Java interpreter.