PersonalJava™ Benchmarks

The table below gives individual bytecode instruction performance increases measured for PersonalJava™. Results are for EBCI™ Interpreters on PowerPC™, MIPS™ and StrongARM™. All have final averages near or better than three times faster execution over the best optimized 'C' compiled interpreters we could find.

TABLE 5
Bytecode Speedup Ratio Over Optimized 'C'
Bytecode
Instruction Name
PowerPC™ EBCI
MIPS™ EBCI
StrongARM™ EBCI
1

aconst_null

3.55
2.78
3.70
2-8

iconst_m1 thru iconst_5

3.55
2.88
3.70
9-10

lconst_0, lconst_1

3.33
2.45
3.43
16

bipush

3.00
2.73
3.70
17

sipush

3.30
2.29
4.15
18

ldc

2.28
2.83
2.18
21,25

iload, aload

2.59
2.03
3.93
26-29

iload_0 thru iload_3

3.26
2.73
3.70
42-45

aload_0 thru aload_3

3.26
2.73
3.70
46

iaload

1.85
2.00
2.81
50

aaload

1.85
2.00
2.81
54

istore

2.14
1.86
3.23
58

astore

2.14
1.86
3.23
59-62

istore_0 thru istore_3

2.95
2.53
3.64
75-78

astore_0 thru astore_3

2.95
2.53
3.64
87,136

pop, l2i

3.69
3.64
3.60
89

dup

3.15
2.50
2.78
96, etc.

iadd,isub,iand,ior,ixor

4.33
3.47
5.08
116

ineg

3.29
2.94
3.64
104

imul

5.00
3.13
5.40
132

iinc

1.84
1.71
2.80
153-158

ifeq thru ifle

2.17
1.28
2.78
159-166

if_icmpeq thru if_acmpne

2.04
1.23
2.68
167

goto

2.92
2.28
2.94

AVERAGE
2.97X
2.37X
3.47X

C Compilers used were, for PowerPC: Diab™/GNU/Metrowerks CodeWarrior, for MIPS: Diab, for StrongARM: Microsoft™ eMbedded Visual C/C++. All compilers had full optimization options enabled.


© 1998-2014 BYTECODES