Re: Benchmark for Ruby



On Fri, 15 Sep 2006, M. Edward (Ed) Borasky wrote:

Analysis Phase (Trick 1):

1. Collect the whole matrix of benchmarks. The rows will be benchmark
names and the columns will be languages, and the cells in the matrix
will be benchmark run times. Pick a language to be the "standard". C is
probably the obvious choice, since it's likely to be the most "practical
low-level language" (meaning not as many folks know Forth.) :)

<OT>I've tried, but FORTH still hasn't clicked with me yet...</OT>
[...]
Some other tricks:

Once you know where Ruby is spending its time, play with compiler flags.
gcc has oodles of possible optimizations, and gcc itself was tuned by
processes like this. It's worth spending a lot of time compiling the
Ruby interpreter, since it's going to be run often.

There exists at least this effort to use Genetic Algorithms for
tuning compiler options. I've not explored it yet.

http://www.coyotegulch.com/products/acovea/index.html

One may need a cluster of machines (of many platforms?) to do this
usefully, but still. Maybe Rinda can help us all contribute...

Those are simple "low-hanging fruit" tricks ... stuff you can do without
actually knowing what's going on inside the Ruby interpreter. It will be
painfully obvious from the profiles, I think, where the opportunities are.


Hugh

.



Relevant Pages

  • Re: 4^2... Another mad idea (was Re: Denesting)
    ... > in code size and up to 50% reduction in execution time. ... > in the classical compiler literature. ... not as a toy or a synthetic benchmark. ... I know about Bruce Hoyt's solver. ...
    (comp.lang.forth)
  • Re: Organizing data for readability and efficiency
    ... same as choosing a good algorithm. ... benchmark to see where the bottleneckare. ... implementation in a lower level language for efficiency. ...
    (comp.lang.perl.misc)
  • Re: Status of the Kernighan Scum project
    ... analysis which I should have performed before entering the benchmark ... The Pike code is a bit over-engineered, ... If you can't translate to some other language x more or less by copying line for line, then that's a weakness rather than a strength. ... A general regular expression is powerful, but is too difficult for the average user to enter. ...
    (comp.programming)
  • Re: Intercepting the text interpreter.
    ... I'm not aware of the Perl community issuing such a joke. ... I will note that such a benchmark of zero-length source code is portable ... The most funny thing would be the messure until what number of NOPs ... If not, the language is ...
    (comp.lang.forth)
  • Re: sched_domains and Stream benchmark
    ... > performance of the Opteron NUMA sched-domains scheduler. ... > reproduce your results and am struggling with the benchmark. ... compiled with the PGI compiler. ... of fork/clonebalancing, against 2.6.5-rc3-mm1. ...
    (Linux-Kernel)