Performance

Performance of an OS is critical. That's why many have suggested that an OS cannot be written in Java. JNode will not be the fastest OS around for quite some time, but it is and will be a proof that it can be done in Java.

Since release 0.1.6, the interpreter has been removed from JNode, so now all methods are compiled before being executed. Currently two new native code compilers are under development that will add various levels of optimizations to the current compiler. We expect these compilers to bring us much closer to the performance of Sun's J2SDK.

This page will keep track of performance of JNode, measured using various benchmarks, over time.
The performance tests are done on a Pentium4 2Ghz with 1GB of memory.

ArithOpt, org.jnode.test.ArithOpt Lower numbers are better.
Date JNode Interpreted JNode Compiled Sun J2SDK
12-jul-2003 1660ms 108ms 30ms
19-jul-2003 1639ms 105ms 30ms
17-dec-2003 771ms 63ms 30ms
20-feb-2004 n.a. 59ms 30ms
03-sep-2004 n.a. 27ms* 30ms
28-jul-2005 n.a. 20ms* 30ms**
 
Sieve, org.jnode.test.Sieve Higher numbers are better.
Date JNode Interpreted JNode Compiled Sun J2SDK
12-jul-2003 53 455 5800
19-jul-2003 55 745 5800
17-dec-2003 158 1993 5800
20-feb-2004 n.a. 2002 5800
03-sep-2004 n.a. 4320* 5800
28-jul-2005 n.a. 3660* 4252**

*) Using L1A compiler
**) Using J2SDK 1.5.0 (others 1.4.2)