EmbeddedJava™ Benchmarks

The following table gives raw speedup ratios for individual Java bytecode instructions running on J2ME™ ARM™ based EBCI™ versions. Here Bytecodes technology yields 3.40 and 6.96 times speedups over optimized 'C' compiled interpreters.

TABLE 4
Bytecode Speedup Ratio Over Optimized 'C'
Bytecode
Instruction Name
Thumb™ EBCI™
StrongARM™ EBCI™
1

aconst_null

7.14
3.33
2-8

iconst_m1 thru iconst_5

8.14
3.33
9-10

lconst_0, lconst_1

7.00
3.07
16

bipush

8.78
3.14
17

sipush

6.46
3.25
18

ldc

6.46
4.33
21,25

iload, aload

7.17
3.29
26-29

iload_0 thru iload_3

8.22
3.83
42-45

aload_0 thru aload_3

6.33
3.83
46

iaload

3.38
2.68
50

aaload

3.67
2.68
54

istore

7.81
3.54
58

astore

6.45
3.54
59-62

istore_0 thru istore_3

8.88
3.82
75-78

astore_0 thru astore_3

9.38
3.82
87,136

pop, l2i

10.67
3.20
89

dup

9.86
3.33
96, etc.

iadd,isub,iand,ior,ixor

7.30
3.65
116

ineg

9.86
3.82
104

imul

6.04
3.65
132

iinc

5.11
2.60
153-158

ifeq thru ifle

4.13
3.18
159-166

if_icmpeq thru if_acmpne

4.33
3.52
167

goto

4.32
3.11

AVERAGE
6.96X
3.40X

The 'C' compiler used for StrongARM was Microsoft™ eMbedded Visual C/C++ 3.0 optimization level -Ot. The compiler used for ARM Thumb was TMS470 ANSI C/C++ Compiler Version 1.22e optimization level -O1. The highest valid compiler optimization levels were used.


© 1998-2014 BYTECODES