On Aug 9, 2011, at 7:58 AM, Charles Oliver Nutter wrote: > I have set up a local build against "hsx" hotspot compiler dev branch, > thanks to Christian. I'll try to write something up with the process > tomorrow. > > Anyway, I wanted to test out Tom's patch for GWT bimorphic inlining > and Christian's patch for push invalidation of mutable call sites. The > results were peculiar! > > First I tried a build with no patches: > > headius@headius-desktop:~/projects/jruby$ > JAVA_HOME=~/hsx-hotspot/build/linux/jdk-linux-i586/ bin/jruby --server > bench/bench_fib_recursive.rb 5 35 > 9227465 > 1.977000 0.000000 1.977000 ( 1.867000) > 9227465 > 1.524000 0.000000 1.524000 ( 1.524000) > 9227465 > 1.524000 0.000000 1.524000 ( 1.524000) > 9227465 > 1.535000 0.000000 1.535000 ( 1.535000) > 9227465 > 1.529000 0.000000 1.529000 ( 1.529000) > > Then with both Tom's and Christian's patches applied together: > > headius@headius-desktop:~/projects/jruby$ > JAVA_HOME=~/hsx-hotspot/build/linux/jdk-linux-i586/ bin/jruby --server > bench/bench_fib_recursive.rb 5 35 > 9227465 > 1.761000 0.000000 1.761000 ( 1.651000) > 9227465 > 1.457000 0.000000 1.457000 ( 1.457000) > 9227465 > 1.456000 0.000000 1.456000 ( 1.456000) > 9227465 > 1.482000 0.000000 1.482000 ( 1.482000) > 9227465 > 1.454000 0.000000 1.454000 ( 1.453000) > > I like any improvements, so naturally I was happy. But Christian > expected a bigger improvement. So I tried with just Christian's patch: > > headius@headius-desktop:~/projects/jruby$ > JAVA_HOME=~/hsx-hotspot/build/linux/jdk-linux-i586/ bin/jruby --server > bench/bench_fib_recursive.rb 5 35 > 9227465 > 1.665000 0.000000 1.665000 ( 1.555000) > 9227465 > 1.270000 0.000000 1.270000 ( 1.270000) > 9227465 > 1.268000 0.000000 1.268000 ( 1.268000) > 9227465 > 1.292000 0.000000 1.292000 ( 1.292000) > 9227465 > 1.259000 0.000000 1.259000 ( 1.259000) > > Interesting, eh?
Hmm. I remember you were saying this is some old Ultra 20. The only box I could find which is similar is a 2.0GHz Quad-core Opteron running Solaris and I can't confirm your numbers. No patch: $ jruby --server -J-showversion bench/bench_fib_recursive.rb 5 35 java version "1.7.0" Java(TM) SE Runtime Environment (build 1.7.0-b147) Java HotSpot(TM) Server VM (build 21.0-b14-internal, mixed mode) 1.680000 0.000000 1.680000 ( 1.615000) 1.345000 0.000000 1.345000 ( 1.345000) 1.341000 0.000000 1.341000 ( 1.340000) 1.343000 0.000000 1.343000 ( 1.343000) 1.344000 0.000000 1.344000 ( 1.343000) My patch: $ jruby --server -J-showversion bench/bench_fib_recursive.rb 5 35 java version "1.7.0" Java(TM) SE Runtime Environment (build 1.7.0-b147) Java HotSpot(TM) Server VM (build 22.0-b01-internal, mixed mode) 1.446000 0.000000 1.446000 ( 1.386000) 1.143000 0.000000 1.143000 ( 1.143000) 1.143000 0.000000 1.143000 ( 1.143000) 1.146000 0.000000 1.146000 ( 1.146000) 1.143000 0.000000 1.143000 ( 1.143000) Both patches: $ jruby --server -J-showversion bench/bench_fib_recursive.rb 5 35 java version "1.7.0" Java(TM) SE Runtime Environment (build 1.7.0-b147) Java HotSpot(TM) Server VM (build 22.0-b01-internal, mixed mode) 1.335000 0.000000 1.335000 ( 1.268000) 1.122000 0.000000 1.122000 ( 1.122000) 1.122000 0.000000 1.122000 ( 1.123000) 1.122000 0.000000 1.122000 ( 1.122000) 1.121000 0.000000 1.121000 ( 1.121000) Did you mix up product vs. debug builds? -- Christian > > - Charlie > _______________________________________________ > mlvm-dev mailing list > mlvm-dev@openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev