Reflection vs MethodHandle performance in Oracle JDK 7u7
Ashwin Jayaprakash
ashwin.jayaprakash at gmail.com
Fri Oct 12 19:22:10 PDT 2012
I ran the same test on a slightly older laptop with both JDK 7u7 and JDK
8-ea-bin-b59-windows-x64-04_oct_2012. Hardware is i5 M430 - 1 CPU x 2 Cores
x 2 HT running Windows 7, 64 bit.
The results are promising in JDK 8 for MethodHandles and strangely,
Reflection and direct calls were slower than JDK 7u7.
*JDK 7u7, 64 bit, Win:*
0% Scenario{vm=java, trial=0, benchmark=Direct, mode=-server,
minHeap=-Xms96m, maxHeap=-Xmx96m} 4.60 ns; ?=0.02 ns @ 3 trials
20% Scenario{vm=java, trial=0, benchmark=Iface, mode=-server,
minHeap=-Xms96m, maxHeap=-Xmx96m} 4.65 ns; ?=0.04 ns @ 3 trials
40% Scenario{vm=java, trial=0, benchmark=Reflect, mode=-server,
minHeap=-Xms96m, maxHeap=-Xmx96m} 18.06 ns; ?=0.13 ns @ 3 trials
60% Scenario{vm=java, trial=0, benchmark=Handle, mode=-server,
minHeap=-Xms96m, maxHeap=-Xmx96m} 24.33 ns; ?=0.89 ns @ 10 trials
80% Scenario{vm=java, trial=0, benchmark=Static, mode=-server,
minHeap=-Xms96m, maxHeap=-Xmx96m} 4.75 ns; ?=0.01 ns @ 3 trials
benchmark ns linear runtime
Direct 4.60 =====
Iface 4.65 =====
Reflect 18.06 ======================
Handle 24.33 ==============================
Static 4.75 =====
vm: java
trial: 0
mode: -server
minHeap: -Xms96m
maxHeap: -Xmx96m
*JDK 8 ea b59, 64 bit, Win:*
0% Scenario{vm=java, trial=0, benchmark=Reflect, mode=-server,
minHeap=-Xms96m, maxHeap=-Xmx96m} 21.31 ns; ?=0.30 ns @ 10 trials
20% Scenario{vm=java, trial=0, benchmark=Handle, mode=-server,
minHeap=-Xms96m, maxHeap=-Xmx96m} 18.00 ns; ?=0.22 ns @ 10 trials
40% Scenario{vm=java, trial=0, benchmark=Direct, mode=-server,
minHeap=-Xms96m, maxHeap=-Xmx96m} 6.61 ns; ?=0.00 ns @ 3 trials
60% Scenario{vm=java, trial=0, benchmark=Iface, mode=-server,
minHeap=-Xms96m, maxHeap=-Xmx96m} 6.63 ns; ?=0.02 ns @ 3 trials
80% Scenario{vm=java, trial=0, benchmark=Static, mode=-server,
minHeap=-Xms96m, maxHeap=-Xmx96m} 6.84 ns; ?=0.30 ns @ 10 trials
benchmark ns linear runtime
Reflect 21.31 ==============================
Handle 18.00 =========================
Direct 6.61 =========
Iface 6.63 =========
Static 6.84 =========
vm: java
trial: 0
mode: -server
minHeap: -Xms96m
maxHeap: -Xmx96m
Regards,
Ashwin.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20121012/83da7e6f/attachment.html
More information about the mlvm-dev
mailing list