All + All -
works with the minimum of 32k of heap
Generic Code Segments
Generic:Add
Incrementing a local variable in a loop.
Generic:Add:ClassVariable
Incrementing a static variable in a loop.
Generic:Add:Method
Incrementing a static variable using a method call.
Generic:Add:Loop:n
Incrementing a local variable in a loop with n operations per loop iteration.
fast
21.070u 0.090s 0:24.99 84.6% 0+0k 0+0io 184pf+0w
http://www.c-creators.co.jp/okayan/
need at least 78Kb of heap
[slafond@exupery output]$ kvm104 -heapsize 1M
dhry Dhrystone Benchmark, Version 2.1 (Language: Java) Execution starts, 100000 runs through Dhrystone
total time: 25421ms
Result: 3933 dhrystone/sec.
Execution completed successfully
80107261 bytecodes executed
0 thread switches
132 classes in the system (including system classes)
200510 dynamic objects allocated (4081632 bytes)
8 garbage collections (3885832 bytes collected)
5.550u 0.000s 0:05.56 99.8% 0+0k 0+0io 185pf+0w
[slafond@exupery output]$ kvm104 -heapsize 78K
dhry Dhrystone Benchmark, Version 2.1 (Language: Java) Execution starts, 100000 runs through Dhrystone
total time: 27521ms
Result: 3633 dhrystone/sec
Execution completed successfully
80107261 bytecodes executed
0 thread switches
132 classes in the system (including system classes)
200510 dynamic objects allocated (4081632 bytes)
2332 garbage collections (4020280 bytes collected)
5.650u 0.010s 0:06.30 89.8% 0+0k 0+0io 185pf+0w
http://homepages.cwi.nl/~tromp/c4/fhour2.html
need at least 6Mb of heap !!!!
[slafond@exupery output]$ kvm104 -heapsize 6M SearchGame
Java Fhourstones 2.0
Using 1050011 transposition table entries with 8 probes.
Solving 17-ply position after 44433337765675566 . . .
score = -2 (-) work = 15
43000 pos / 20117 msec = 2 Kpos/sec
store rate = 1
- 0 < 0 = 0 > 0 + 0
1031982 8737 3020 2673 1773 871 490 247
110 58 30 10 4 3 1 2
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
Execution completed successfully
95061258 bytecodes executed
0 thread switches
129 classes in the system (including system classes)
43463 dynamic objects allocated (7336368 bytes)
8 garbage collections (2053044 bytes collected)
5.750u 0.020s 0:07.10 81.2% 0+0k 0+0io 186pf+0w
See Opcodes Costs
See Benchmarks
Opcode |
Inst. Cost in
![]() |
Mem. Cost in
![]() |
Nb Cycles | Nb Proc. Inst. |
i2l 0x85 | 0.928660 | 2.200260 | 198 | 50 |
l2i 0x88 | 0.857440 | 2.037840 | 184 | 47 |
i2b 0x91 | 0.928540 | 2.200260 | 198.0 | 50 |
i2c 0x92 | 0.928520 | 2.200260 | 198 | 50 |
i2s 0x93 | 0.928540 | 2.200260 | 198 | 50 |
Opcode |
Inst. Cost in
![]() |
Mem. Cost in
![]() |
Nb Cycles | Nb Proc. Inst. |
nop 0x0 | 0.831440 | 1.989840 | 178 | 45 |
aconst_null 0x1 | 0.890020 | 2.126940 | 190 | 49 |
iconst_m1 0x2 | 0.899160 | 2.150940 | 192 | 50 |
iconst_0 0x3 | 0.890020 | 2.126940 | 190 | 49 |
iconst_1 0x4 | 0.890020 | 2.126940 | 190 | 49 |
iconst_2 0x5 | 0.890020 | 2.126940 | 190 | 49 |
iconst_3 0x6 | 0.890020 | 2.126940 | 190 | 49 |
iconst_4 0x7 | 0.889760 | 2.126940 | 190 | 49 |
iconst_5 0x8 | 0.890020 | 2.126940 | 190 | 49 |
lconst_0 0x9 | 0.922300 | 2.192040 | 196 | 50 |
lconst_1 0xa | 0.930960 | 2.216040 | 198 | 51 |
bipush 0x10 | 0.926900 | 2.214420 | 198 | 52 |
sipush 0x11 | 0.990360 | 2.373900 | 212 | 58 |
iload 0x15 | 1.013700 | 2.434380 | 216 | 55 |
lload 0x16 | 1.167820 | 2.815440 | 248 | 63 |
aload 0x19 | 1.013700 | 2.434380 | 216 | 55 |
iload_0 0x1a | 0.968120 | 2.322900 | 206 | 51 |
iload_1 0x1b | 0.968120 | 2.322900 | 206 | 51 |
iload_2 0x1c | 0.968120 | 2.322900 | 206 | 51 |
iload_3 0x1d | 0.968120 | 2.322900 | 206 | 51 |
lload_0 0x1e | 1.104800 | 2.655960 | 234 | 57 |
lload_1 0x1f | 1.104800 | 2.655960 | 234 | 57 |
lload_2 0x20 | 1.104800 | 2.655960 | 234 | 57 |
lload_3 0x21 | 1.104800 | 2.655960 | 234 | 57 |
aload_0 0x2a | 0.968120 | 2.322900 | 206 | 51 |
aload_1 0x2b | 0.968120 | 2.322900 | 206 | 51 |
aload_2 0x2c | 0.968120 | 2.322900 | 206 | 51 |
aload_3 0x2d | 0.968120 | 2.322900 | 206 | 51 |
istore 0x36 | 1.004140 | 2.410380 | 214 | 54 |
lstore 0x37 | 1.148940 | 2.767440 | 244 | 61 |
astore 0x3a | 1.004140 | 2.410380 | 214 | 54 |
Opcode |
Inst. Cost in
![]() |
Mem. Cost in
![]() |
Nb Cycles | Nb Proc. Inst. |
istore_0 0x3b | 0.958800 | 2.298900 | 204 | 50 |
istore_1 0x3c | 0.958800 | 2.298900 | 204 | 50 |
istore_2 0x3d | 0.958800 | 2.298900 | 204 | 50 |
istore_3 0x3e | 0.958800 | 2.298900 | 204 | 50 |
lstore_0 0x3f | 1.086160 | 2.607960 | 230 | 55 |
lstore_1 0x40 | 1.086160 | 2.607960 | 230 | 55 |
lstore_2 0x41 | 1.086160 | 2.607960 | 230 | 55 |
lstore_3 0x42 | 1.086160 | 2.607960 | 230 | 55 |
astore_0 0x4b | 0.958800 | 2.298900 | 204 | 50 |
astore_1 0x4c | 0.958800 | 2.298900 | 204 | 50 |
astore_2 0x4d | 0.958800 | 2.298900 | 204 | 50 |
astore_3 0x4e | 0.958800 | 2.298900 | 204 | 50 |
pop 0x57 | 0.857440 | 2.037840 | 184 | 47 |
pop2 0x58 | 0.857440 | 2.037840 | 184 | 47 |
dup 0x59 | 0.928740 | 2.200260 | 198 | 50 |
dup_x1 0x5a | 1.040200 | 2.451780 | 220 | 55 |
dup_x2 0x5b | 1.119080 | 2.638200 | 236 | 59 |
dup2 0x5c | 1.026160 | 2.434680 | 218 | 56 |
dup2_x1 0x5d | 1.169000 | 2.751300 | 246 | 62 |
dup2_x2 0x5e | 1.321140 | 3.100140 | 276 | 69 |
swap 0x5f | 0.990280 | 2.338680 | 210 | 52 |
ldc 0x12 | 1.022440 | 2.458380 | 218 | 56 |
ldc_w 0x13 | 1.085880 | 2.617860 | 232 | 62 |
ldc2_w 0x14 | 1.203000 | 2.870700 | 254 | 65 |
See Benchmarks
Opcode |
Inst. Cost in
![]() |
Mem. Cost in
![]() |
Nb Cycles | Nb Proc. Inst. |
iadd 0x60 | 0.957860 | 2.273580 | 204 | 51 |
isub 0x64 | 0.957360 | 2.273580 | 204 | 51 |
imul 0x68 | 0.959500 | 2.273580 | 204 | 51 |
idiv 0x6c | 1.613020 | 3.851460 | 348 | 84 |
ladd 0x61 | 1.575480 | 3.631800 | 328 | 76 |
lsub 0x62 | 1.575480 | 3.631800 | 328 | 76 |
lmul 0x69 | 1.638000 | 3.865920 | 348 | 74 |
ldiv 0x6d | 3.685660 | 9.344040 | 820 | 181 |
iinc 0x84 | 1.188360 | 2.830920 | 252 | 63 |
ineg 0x74 | 0.920080 | 2.176260 | 196 | 49 |
lneg 0x75 | 1.366460 | 3.136320 | 286 | 67 |
irem 0x70 | 1.613020 | 3.851460 | 348 | 84 |
lrem 0x71 | 3.685660 | 9.344040 | 820 | 181 |
Opcode |
Inst. Cost in
![]() |
Mem. Cost in
![]() |
Nb Cycles | Nb Proc. Inst. |
new 0xbb (java.lang.Object) | 5.456560 | 12.437760 | 1146 | 240 |
new (java.lang.String) | 5.508280 | 12.561060 | 1158 | 240 |
putfield 0xb5 | 4.201320 | 9.604260 | 872 | 185 |
putfield (long)0xb5 | 4.432900 | 10.139520 | 918 | 196 |
getfield 0xb4 | 4.156160 | 9.515160 | 864 | 183 |
getfield 0xb4(long) | 4.324340 | 9.912000 | 898 | 192 |
putstatic 0xb3 | 4.100420 | 9.381000 | 856 | 185 |
putstatic (long) 0xb3 | 4.334720 | 9.949800 | 904 | 195 |
getstatic 0xb2 | 4.083360 | 9.357000 | 852 | 184 |
getstatic (long)0xb2 | 4.303640 | 9.901800 | 898 | 193 |
checkcast 0xc0(is String 'castable' to Object,yes) | 3.726300 | 8.497920 | 774 | 156 |
checkcast 0xc0 | 3.726300 | 8.497920 | 774 | 156 |
(is Class 'castable' to Object,yes) | ||||
checkcast 0xc0 | 4.243800 | 9.677880 | 888 | 191 |
(is SubClass 'castable' to Class,yes) | ||||
checkcast(is Class 'castable' to | 133.521178 | 302.378599 | 28250 | 7058 |
subClass,no throws ClassCastException) | ||||
checkcast(is Object 'castable' to String,0 | 133.292438 | 301.846638 | 28200 | 7044 |
no throws ClassCastException) | ||||
instanceof (is String instanceof Object,yes) 0xc1 | 3.815760 | 8.733660 | 792 | 160 |
instanceof (is Object instanceof String,no) 0xc1 | 4.213440 | 9.600299 | 880 | 186 |
instanceof (is This instance of Object,yes) 0xc1 | 3.815760 | 8.733660 | 792 | 160 |
instanceof (is Object instance of This,no) 0xc1 | 4.213440 | 9.600299 | 880 | 186 |
instanceof (is This instance of String,no) 0xc1 | 4.442180 | 10.132260 | 930 | 200 |
instanceof | 4.442180 | 10.132260 | 930 | 200 |
(is Class instance of subClass,no) | ||||
instanceof | 4.333260 | 9.913620 | 906 | 195 |
(is SubClass instance of Class,yes) | ||||
newarray 0xbc (of size 0) | 4.417460 | 10.073760 | 924 | 192 |
newarray 0xbc (of 4 bytes) | 4.434700 | 10.114860 | 928 | 192 |
newarray 0xbc (of 8 bytes) | 4.451940 | 10.155960 | 932 | 192 |
newarray 0xbc (of 16 bytes) | 4.486420 | 10.238160 | 940 | 192 |
newarray 0xbc (of 32 bytes) | 4.555380 | 10.402560 | 956 | 192 |
newarray 0xbc (of 64 bytes) | 4.770880 | 10.928640 | 1006 | 196 |
See Benchmarks
Opcode |
Inst. Cost in
![]() |
Mem. Cost in
![]() |
Nb Cycles | Nb Proc. Inst. |
anewarray (size=0 non resolved empty class) 0xbd | 34.638980 | 79.455499 | 7388 | 1908 |
anewarray (size=1 non resolved empty class) 0xbd | 34.656220 | 79.496599 | 7392 | 1908 |
anewarray (size=5 non resolved empty class) 0xbd | 34.725180 | 79.660999 | 7408 | 1908 |
anewarray (size=0 resolved empty class)0xbd | 32.7967 | 75.5584 | 6996 | 1803 |
anewarray (size=1 resolved empty class)0xbd | 32.8139 | 75.5995 | 7000 | 1803 |
anewarray (size=5 resolved empty class)0xbd | 32.8829 | 75.7639 | 7016 | 1803 |
anewarray (size=0 resolved java.lang.Object class) | 27.806520 | 64.268619 | 5936 | 1502 |
anewarray (size=1 resolved java.lang.Object class) | 27.823760 | 64.309719 | 5940 | 1502 |
anewarray (size=5 resolved java.lang.Object class) | 27.892720 | 64.474119 | 5956 | 1502 |
anewarray (size=0 resolved java.lang.String class) | 27.754860 | 64.073619 | 5928 | 1502 |
anewarray (size=1 resolved java.lang.String class) | 27.772100 | 64.114719 | 5932 | 1502 |
anewarray (size=5 resolved java.lang.String class) | 27.841060 | 64.279119 | 5948 | 1502 |
multiarray (int 1 dimension,size=0/dim.)0xc5 | 36.323520 | 83.483859 | 7700 | 1872 |
multiarray (int 2 dimensions,size=4/dim.)0xc5 | 49.866399 | 113.914719 | 10542 | 2450 |
multiarray (int 4 dimension,size=2) | 84.130479 | 190.890879 | 17702 | 3934 |
multiarray (nonResolved 1 dimension,size=0) | 36.323520 | 83.483859 | 7700 | 1872 |
multiarray (nonResolved 1 dimension,size=5) | 36.409720 | 83.689359 | 7720 | 1872 |
multiarray (nonResolved 2 dimension,size=5) | 53.042079 | 121.065519 | 11212 | 2580 |
multiarray (Object 1 dimensions,size=8) | 36.461440 | 83.812659 | 7732 | 1872 |
multiarray (Object 2 dimensions,size=4) | 49.866399 | 113.914719 | 10542 | 2450 |
multiarray (Object 4 dimensions,size=2) | 84.130479 | 190.890879 | 17702 | 3934 |
arraylength 0xbe | 0.983920 | 2.297580 | 210 | 52 |
baload 0x33 | 1.066680 | 2.554380 | 228 | 60 |
caload 0x34 | 1.084380 | 2.610900 | 232 | 62 |
saload 0x35 | 1.075780 | 2.586900 | 230 | 61 |
iaload 0x2e | 1.077460 | 2.588220 | 230 | 60 |
laload 0x2f | 1.183560 | 2.846640 | 252 | 67 |
aaload 0x32 | 1.077460 | 2.588220 | 230 | 60 |
bastore 0x54 | 1.155620 | 2.748520 | 246 | 64 |
castore 0x55 | 1.164480 | 2.787420 | 248 | 65 |
sastore 0x56 | 1.164480 | 2.787420 | 248 | 65 |
iastore 0x4f | 1.158240 | 2.774640 | 246 | 64 |
lastore 0x50 | 1.310000 | 3.123480 | 276 | 71 |
aastore 0x53 | 2.003000 | 4.674360 | 418 | 100 |
Opcode |
Inst. Cost in
![]() |
Mem. Cost in
![]() |
Nb Cycles | Nb Proc. Inst. |
invokevirtual+return(empty method)0xb6 | 12.032760 | 27.984120 | 2504 | 520 |
invokevirtual+ireturn(empty method) | 12.194540 | 28.380960 | 2536 | 529 |
invokevirtual+lreturn(empty method) | 12.363720 | 28.753800 | 2570 | 537 |
invokevirtual+areturn(empty method,return this)0xb6 | 12.159580 | 28.284960 | 2528 | 525 |
invokestatic+return(empty method)0xb8 | 10.549340 | 24.648600 | 2198 | 455 |
invokestatic+ireturn(empty method) | 10.711120 | 25.045440 | 2230 | 464 |
invokestatic+lreturn(empty method) | 10.880300 | 25.418280 | 2264 | 472 |
invokespecial+return(empty method)0xb7 | 10.512680 | 24.545700 | 2188 | 450 |
invokespecial+ireturn(empty method) | 10.674460 | 24.942540 | 2220 | 459 |
invokespecial+lreturn(empty method) | 10.843640 | 25.315380 | 2254 | 467 |
invokespecial+areturn(empty method,return this) | 10.639500 | 24.846540 | 2212 | 455 |
Opcode |
Inst. Cost in
![]() |
Mem. Cost in
![]() |
Nb Cycles | Nb Proc. Inst. |
ifeq 0x99 (branch not taken) | 0.957140 | 2.255160 | 206 | 54 |
ifeq 0x99 (branch taken) | 1.142280 | 2.617860 | 246 | 62 |
ifne 0x9a (branch not taken) | 0.957140 | 2.255160 | 206 | 54 |
ifne 0x9a (branch taken) | 1.142280 | 2.617860 | 246 | 62 |
iflt 0x9b (branch not taken) | 0.957140 | 2.255160 | 206 | 54 |
iflt 0x9b (branch taken) | 1.142280 | 2.617860 | 246 | 62 |
ifle 0x9e (branch not taken) | 0.957140 | 2.255160 | 206 | 54 |
ifle 0x9e (branch taken) | 1.142280 | 2.617860 | 246 | 62 |
ifgt 0x9d (branch not taken) | 0.957140 | 2.255160 | 206 | 54 |
ifgt 0x9d (branch taken) | 1.142280 | 2.617860 | 246 | 62 |
ifge 0x9c (branch not taken) | 0.957140 | 2.255160 | 206 | 54 |
ifge 0x9c (branch taken) | 1.142280 | 2.617860 | 246 | 62 |
if_icmpeq 0x9f (branch not taken) | 0.995660 | 2.352480 | 214 | 56 |
if_icmpeq 0x9f (branch taken) | 1.180800 | 2.715180 | 254 | 64 |
if_icmpne 0xa0 (branch not taken) | 0.995660 | 2.352480 | 214 | 56 |
if_icmpne 0xa0 (branch taken) | 1.180800 | 2.715180 | 254 | 64 |
if_icmplt 0xa1 (branch not taken) | 0.995660 | 2.352480 | 214 | 56 |
if_icmplt 0xa1 (branch taken) | 1.180800 | 2.715180 | 254 | 64 |
if_icmple 0xa4 (branch not taken) | 0.995660 | 2.352480 | 214 | 56 |
if_icmple 0xa4 (branch taken) | 1.180800 | 2.715180 | 254 | 64 |
if_icmpgt 0xa3 (branch not taken) | 0.995660 | 2.352480 | 214 | 56 |
if_icmpgt 0xa3 (branch taken) | 1.180800 | 2.715180 | 254 | 64 |
if_icmpge 0xa2 (branch not taken) | 0.995660 | 2.352480 | 214 | 56 |
if_icmpge 0xa2 (branch taken) | 1.180800 | 2.715180 | 254 | 64 |
lcmp 0x94 (value1<value2) | 1.483220 | 3.404280 | 310 | 72 |
lcmp 0x94 (value1==value2) | 1.693000 | 3.845520 | 356 | 79 |
lcmp 0x94 (value1>value2) | 1.693000 | 3.845520 | 356 | 79 |
ifnull 0xc6(branch not taken) | 0.957140 | 2.255160 | 206 | 54 |
ifnull 0xc6 (branch taken) | 1.124720 | 2.593860 | 242 | 61 |
ifnonnull 0xc7 (branch not taken) | 0.957140 | 2.255160 | 206 | 54 |
ifnonnull 0xc7 (branch taken) | 1.124720 | 2.593860 | 242 | 61 |
if_acmpeq 0xa5 (branch not taken) | 0.995660 | 2.352480 | 214 | 56 |
if_acmpeq 0xa5 (branch taken) | 1.180800 | 2.715180 | 254 | 64 |
if_acmpne 0xa6 (branch not taken) | 0.995660 | 2.352480 | 214 | 56 |
if_acmpne 0xa6 (branch taken) | 1.180800 | 2.715180 | 254 | 64 |
goto 0xa7 | 1.034380 | 2.400540 | 222 | 55 |
goto_w 0xc8 | 1.108140 | 2.551500 | 238 | 60 |
lookupswitch 0xab (1 iteration) | 2.077300 | 4.759140 | 438 | 116 |
lookupswitch 0xab (2 iterations) | 2.721600 | 6.228240 | 572 | 151 |
lookupswitch 0xab (3 iterations) | 3.365900 | 7.697340 | 706 | 186 |
lookupswitch 0xab (4 iterations) | 4.010200 | 9.166440 | 840 | 221 |
tableswitch 0xaa | 1.793420 | 4.205460 | 384 | 108 |
See Benchmarks
Opcode |
Inst. Cost in
![]() |
Mem. Cost in
![]() |
Nb Cycles | Nb Proc. Inst. |
ishl 0x78 | 0.976480 | 2.321580 | 208 | 53 |
ishr 0x7a | 0.976360 | 2.321580 | 208 | 53 |
iushr 0x7c | 0.976420 | 2.321580 | 208 | 53 |
lshl 0x79 | 1.419040 | 3.316500 | 300 | 72 |
lshr 0x7b | 1.419040 | 3.316500 | 300 | 72 |
lushr 0x7d | 1.545040 | 3.593340 | 324 | 76 |
iand 0x7e | 0.957800 | 2.273580 | 204 | 51 |
ior 0x80 | 0.958100 | 2.273580 | 204 | 51 |
ixor 0x82 | 0.958120 | 2.273580 | 204 | 51 |
land 0x7f | 1.127820 | 2.701320 | 240 | 63 |
lor 0x81 | 1.128420 | 2.701320 | 240 | 63 |
lxor 0x83 | 1.128460 | 2.701320 | 240 | 63 |
This document was generated using the LaTeX2HTML translator Version 2002 (1.62)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers /tmp/lyx_tmpdir21086cAmhPK/lyx_tmpbuf0/tables.tex
The translation was initiated by Sebastien Lafond TUCS on 2005-09-27
Sebastien Lafond TUCS 2005-09-27