performance - Java 7 JVM slower than JRockit 6? -
i interested in upgrading java 7 (for own selfish coding reasons). however, have users latency sensitive (everything needs sub-millisecond). did simple performance comparison test between 3 different jvms , found java 7 slower. test pushed simple messages through our application. test low load, load volume test, pushes single message through, every few seconds. results (in microseconds):
- hotspot 6 (build 24): msgs= 23 avg= 902 - jrockit 6 (r28 b 29): msgs= 23 avg= 481 - hotspot 7 (build 04): msgs= 34 avg=1130 oracle's strategy merge jrockit , hotspot starting java 7 (so jrockit 6 last available). have ideas why performance worse? (one point note, code compiled under java 1.6. not sure if explain it...)
update: voted close own question because can see comments not able communicate enough info make constructive question. commented.
update: after more feed back, thought provide more info. test after fresh start. all factors equal each test. thing changes jvm. repeating test multiple times gives consistent result. no gcs occurred in test iteration.
below graphed values of 1 of test runs. both jrockit , hotspot 7, first latency value thrown out. jrockit has huge first value, optimizes , settles toward mean. hotspot 7 takes longer optimize, , never drops mean low jrockit. each data point represents microseconds read message tcp/ip socket, run through business logic, , write message on socket. every message identical, , no new code paths entered message.

jrockit own (pure c) code base different openjdk. contains different garbage collectors, , totally different jit compiler. 1 big monetizer when owned bea low latency gc, quite advanced, in non commercial variants. significant amount of time has been spent on jrockit clean room vm implementation. has been said in comments, it's not matter of merging reimplementing stuff in hotspot code base. far fast process , of things not there @ all, @ least not in in jrockit form. puzzle pieces not readily fit without filing @ edges, speak. jdk7 hotspot, @ other things, or different versions of similar systems, might make of lost performance. other applications may run faster jrockit 6.
if interested in learning more jrockit (or jvm) internals, book "oracle jrockit definitive guide" highly recommended read. full disclosure, ~$2 before taxes in royalty each copy , use buy espresso. :)
Comments
Post a Comment