Speed comparisson between Kaffe/jdk on Linux/Windows

Constantin Teodorescu teo at flex.ro
Sun Apr 11 03:10:00 PDT 1999


Hello all,

I have downloaded today 1.0.b4 and tried it with my applications.
Very good work. All my SWING applications (including database access
through JDBC to PostgreSQL) worked fine.
Some small differences with fonts, but they run fine.

I wrote a small program in order to check kaffe's speed (loops,
math operations, hashtable operations, string,op).

The computer was a K6-350 MHz, 64 Mb RAM running
- Linux i386 RedHat 5.2
- Windows 98

On Linux :
- jdk 1.1.7 run the program in 10 seconds.
- Kaffe 1.0.b3 run to program in 14 seconds.
- Kaffe 1.0.b4 run the program in 9 seconds !!!
- Kaffe 1.0.b4 compiled with --with-engine=interp completed the test in
69 seconds.

On Windows :
- jdk 1.1.7 on Windows 95 run the program in 2 seconds
- had no way to check Kaffe on Windows 98 (don't have a compiler)

I am confused by this results. Should I understand that under Linux, jdk
1.1.7 is using a JIT ?!?!?
Or, the interpreter of jdk 1.1.7 is as fast as Kaffe JIT ?

Another problem : when I compiled Kaffe with --with-engine=interp , I
was able to run my speed test application but when I was trying to run
my SWING applications all of them crashed with :

java.lang.StackOverflowError
        at java.util.Stack.peek(Stack.java:26)
        at java.util.Stack.pop(Stack.java:33)
        at
javax.swing.SwingGraphics.getRecycledSwingGraphics(SwingGraphics.java:635)
        at
javax.swing.SwingGraphics.createSwingGraphics(SwingGraphics.java:149)
        at
javax.swing.SwingGraphics.createSwingGraphics(SwingGraphics.java:184)
        at javax.swing.JComponent.paintChildren(JComponent.java:372)
        at javax.swing.JComponent.paint(JComponent.java:541)
        at javax.swing.JViewport.paint(JViewport.java:324)
        at javax.swing.JComponent.paintWithBuffer(JComponent.java:3501)
        at
javax.swing.JComponent._paintImmediately(JComponent.java:3463)
        at javax.swing.JComponent.paintImmediately(JComponent.java:3347)
        at
javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:366)
        at
javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:163)
        at
javax.swing.SystemEventQueueUtilities.processRunnableEvent(SystemEventQueueUtilities.java:332)
        at
javax.swing.SystemEventQueueUtilities.access$0(SystemEventQueueUtilities.java:328)
        at
javax.swing.SystemEventQueueUtilities$RunnableTarget.processEvent(SystemEventQueueUtilities.java:369)
        at java.awt.AWTEvent.dispatch(AWTEvent.java:74)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:39) 

If anyone is interested, I am able to provide the sources for speed
application test (2 Kb) or my graphical SWING application that crashed
with interp engine for testing (10 Kb).

-- 
Constantin Teodorescu
FLEX Consulting Braila, ROMANIA


More information about the kaffe mailing list