High Performance


While the performance of interpreted bytecodes is usually more than adequate, there are situations where higher performance is required. The bytecodes can be translated on the fly (at runtime) into machine code for the particular CPU the application is running on. For those accustomed to the normal design of a compiler and dynamic loader, this is somewhat like putting the final machine code generator in the dynamic loader.

The bytecode format was designed with generating machine codes in mind, so the actual process of generating machine code is generally simple. Efficient code is produced: the compiler does automatic register allocation and some optimization when it produces the bytecodes.

--The Java Language, An Overview


Some JITs are beginning to provide adequate performance, but even in the best cases you only get up to about 80% of the speed of C++, much less C or Fortran. And most of the time, the speed is considerably below that by a factor of 10.

Bottom Line: C-

Previous | Next | Outline | Cafe Au Lait Home Page
Copyright 1997 Elliotte Rusty Harold
Last Modified Sunday, March 9, 1997