On Feb 19, 2007, at 5:57 PM, Nicholas Clark wrote:

There's a benchmark of Ruby implementations at

http://www.antoniocangiano.com/articles/2007/02/19/ruby- implementations-shootout-ruby-vs-yarv-vs-jruby-vs-gardens-point-ruby- net-vs-rubinius-vs-cardinal

(or http://xrl.us/uy5m )

There's a comment from Matt Diephouse

  Did you build an optimized version of Parrot to use with Cardinal?
  By default, Parrot builds with all optimizations off and with all
  debug flags on. This makes it slower but makes development a lot
  easier.


The answer was "no"

I was wondering - are people doing benchmarks more likely to be using
release versions of parrot rather than svn head? If so, would it be a
good idea for positive publicity's sake to have the release versions
default to optimise?

And at the same time, why have the default runcore be the slow core. It's probably better for testing, but for the vast majority of cases, -Cj is faster(although in some instance -j's faster, or -C is faster, or even -S, just depends on the specific benchmark). If we have release versions default to optimize, shouldn't we also try and default to a faster runcore? An optimized parrot with a faster runcore greatly increases speed.

Alternatively, given that gcc is capable of building with both debugging and optimising, and a good number of people benchmarking will be on Linux,
would it be viable to make the default with gcc to be "-g -O2"?

Also, looking through the gcc manpage, one thing caught my eye about optimizing, with regards to CG and CGP. "Note: When compiling a program using computed gotos, a GCC extension, you may get better runtime performance if you disable the global common subexpression elimination pass by adding -fno-gcse to the command line." It would be interesting to benchmark this with parrot, as the cg and cgp runcores work by computed gotos. But, gcse fails on the cgp core because it's too complicated anyway so it may not matter. Anything for that hundredth of a second, right?

Either way could try to skew third party benchmarks (and the unpublished
private benchmarks we don't even know about) in Parrot's favour.

Nicholas Clark


Reply via email to