...
AWBench (ns/invocation) | aspectwerkz 2.x | aspectwerkz 1.x | aspectj | jboss | AW Proxy | spring | dynaop | cglib | ext:aopalliance | ext:spring | ext:aspectj |
---|---|---|---|---|---|---|---|---|---|---|---|
before, args() target() | 10 | 576 | 10 | 215 | 25 | 591 | 386 | 135 | - | 210 | - |
around x 2, args() target() | 85 | 641 | 45 | 290 | 85 | 681 | 456 | 150 | 461 | 461 | - |
before | 10 | 476 | 15 | 130 | 20 | 526 | 325 | 75 | - | 40 | 10 |
before, static info access | 30 | 480 | 20 | 130 | 35 | 520 | 305 | 75 | - | 40 | - |
before, rtti info access | 50 | 506 | 50 | 135 | 55 | 526 | 330 | 70 | - | 35 | - |
after returning | 10 | 475 | 10 | 165 | 15 | 535 | 325 | 80 | - | 40 | 15 |
after throwing | 3360 | 5468 | 2984 | 5187 | 3660 | - | 6604 | 7991 | - | - | 3440 |
before + after | 20 | 480 | 15 | 245 | 30 | 671 | 340 | 85 | - | 40 | 20 |
before, args() primitives | 10 | 546 | 10 | 260 | 20 | 580 | 370 | 135 | - | 200 | - |
before, args() objects | 5 | 540 | 15 | 185 | 20 | 561 | 350 | 105 | - | 195 | - |
around | 60 | 470 | 10 | 125 | 6560 | 460 | 310 | 75 | 70 | 70 | 85 |
around, static info access | 90 | 480 | 25 | 125 | 90 | 481 | 330 | 75 | 70 | 70 | - |
around, rtti info access | 85 | 506 | 50 | 140 | 85 | 495 | 345 | 85 | 70 | 75 | - |
...
AWBench (relative %) | aspectwerkz 2.x | aspectwerkz 1.x | aspectj | jboss | AW Proxy | spring | dynaop | cglib | ext:aopalliance | ext:spring | ext:aspectj |
---|---|---|---|---|---|---|---|---|---|---|---|
before, args() target() | 1 x | 57.6 x | 1 x | 21.5 x | 2.5 | 59.1 x | 38.6 x | 13.5 x | - | 21 x | - |
around x 2, args() target() | 1 x | 7.5 x | 0.5 x | 3.4 x | ? | 8 x | 5.3 x | 1.7 x | 5.4 x | 5.4 x | - |
before | 1 x | 47.6 x | 1.5 x | 13 x | 2 x | 52.6 x | 32 x | 7.5 x | - | 4 x | 1 x |
before, static info access | 1 x | 16 x | 0.6 x | 4.3 x | 1.1 x | 17.3 x | 10.1 x | 2.5 x | - | 1.3 x | - |
before, rtti info access | 1 x | 10.1 x | 1 x | 2.7 x | 1.1 x | 10.5 x | 6.6 x | 1.4 x | - | 0.7 x | - |
after returning | 1 x | 47.5 x | 1 x | 16.5 x | 1.5 x | 53.5 x | 32.5 x | 8 x | - | 4 x | 1.5 x |
after throwing | 1 x | 1.6 x | 0.8 x | 1.5 x | 1 x | - | 1.9 x | 2.3 x | - | - | 1 x |
before + after | 1 x | 24 x | 0.7 x | 12.2 x | 1.5 x | 33.5 x | 17 x | 4.2 x | - | 2 x | 1 x |
before, args() primitives | 1 x | 54.6 x | 1 x | 26 x | 2 x | 58 x | 37 x | 13.5 x | - | 20 x | - |
before, args() objects | 1 x | 108 x | 3 x | 37 x | 112.2 x | 70 x | 21 x | - | 39 x | - | |
around | 1 x | 7.8 x | 0.1 x | 2 x | 1 x | 7.6 x | 5.1 x | 1.2 x | 1.2 x | 1.2 x | 1.4 x |
around, static info access | 1 x | 5.3 x | 0.2 x | 1.3 x | 1 x | 5.3 x | 3.6 x | 0.8 x | 0.7 x | 0.8 x | - |
around, rtti info access | 1 x | 5.9 x | 0.5 x | 1.6 x | 1 x | 5.8 x | 4 x | 1 x | 0.8 x | 0.8 x | - |
Bench were run on a Java HotSpot 1.4.2, Windows 2000 SP4, Pentium M 1.6 GHz, 1 Go RAM.
...