More performance explorations

Charles Oliver Nutter headius at headius.com
Thu Jun 2 18:10:06 PDT 2011


On Thu, Jun 2, 2011 at 7:15 PM, Charles Oliver Nutter
<headius at headius.com> wrote:
> FWIW, I'm going to add a boolean-returning path for boolean-expecting
> language constructs to avoid the load of true/false and the "isTrue"
> interface calls. Should help perf, I imagine (not indy-related).

For the entertainment of folks following along at home, I just
implemented this. It does improve perf by a small amount:

BEFORE:
~/projects/jruby ➔ jruby -d -X+C -Xcompile.invokedynamic=false
--server bench/bench_fib_recursive.rb 5 35
9227465
  1.155000   0.000000   1.155000 (  1.103000)
9227465
  0.881000   0.000000   0.881000 (  0.878000)
9227465
  0.885000   0.000000   0.885000 (  0.885000)
9227465
  0.882000   0.000000   0.882000 (  0.882000)
9227465
  0.885000   0.000000   0.885000 (  0.885000)

~/projects/jruby ➔ jruby -d -X+C --server bench/bench_fib_recursive.rb
5 359227465
  1.313000   0.000000   1.313000 (  1.259000)
9227465
  0.960000   0.000000   0.960000 (  0.959000)
9227465
  0.950000   0.000000   0.950000 (  0.950000)
9227465
  0.951000   0.000000   0.951000 (  0.951000)
9227465
  0.940000   0.000000   0.940000 (  0.940000)

AFTER:

~/projects/jruby ➔ jruby -d -X+C -Xcompile.invokedynamic=false
--server bench/bench_fib_recursive.rb 5 35
9227465
  1.186000   0.000000   1.186000 (  1.137000)
9227465
  0.838000   0.000000   0.838000 (  0.838000)
9227465
  0.830000   0.000000   0.830000 (  0.830000)
9227465
  0.827000   0.000000   0.827000 (  0.827000)
9227465
  0.831000   0.000000   0.831000 (  0.831000)

~/projects/jruby ➔ jruby -d -X+C --server bench/bench_fib_recursive.rb
5 359227465
  1.159000   0.000000   1.159000 (  1.099000)
9227465
  0.906000   0.000000   0.906000 (  0.906000)
9227465
  0.903000   0.000000   0.903000 (  0.903000)
9227465
  0.901000   0.000000   0.901000 (  0.901000)
9227465
  0.903000   0.000000   0.903000 (  0.903000)

- Charlie


More information about the mlvm-dev mailing list