That's why I was surprised.  Even if it doesn't improve performance
(something it was never supposed to do in the first place), the question is
whether it hurts performance significantly, e.g. whether the tradeoff
between better code and faster code is worth it.  Currently, I see no
evidence that it significantly hurts performance, which was, IIRC, the only
objection to the patch.  Also, it's quite easy to change the benchmark time:
just add another zero to the command-line parameter, and it'll take about
ten times as long.

P.S.  Thanks for the link!  That'll come in handy.

Alek Storm

On 3/31/07, Joshua Isom <[EMAIL PROTECTED]> wrote:

On Mar 30, 2007, at 9:19 PM, chromatic wrote:

> On Friday 30 March 2007 13:59, Alek Storm wrote:
>
>> I used a simple benchmark to compare the relative speeds of Parrot
>> with and without the patch, and I was surprised to find that the test
>> script runs (very roughly) 10% faster *with* the patch.  Can someone
>> confirm this?  Running revision 17860; benchmark script attached; run
>> as:
>> $ parrot bench.pir 100000
>>
>> Since leo was concerned about memory usage, by running valgrind:
>> $ valgrind --tool=massif parrot bench.pir 100000
>> I found that, over several runs, the spacetime (time * bytes) usage is
>> slightly better with the patch than without.  Can someone confirm this
>> also?
>
> The results look statistically noisy to me, as of r17872, on x86 Linux.
>
> -- c

I'm on ppc, and after making a change to get it to compile(not a
portable patch, but that's another issue), and I'm not noticing any
statistical difference.  I didn't run your minibenchmark, but there are
other benchmarks I used, such as those in examples/shootout.  In the
cases where I think I get a result, a few runs later of both eliminate
any difference(which could be due to caching).  Also, judging by
chromatic's results, any benchmark that finishes in under a fifth of a
second isn't a good benchmark.  So needless to say, it doesn't seem as
though your patch does any good for performance(more often it seemed
worse but I didn't get enough results to really check).  For subtle
things like this, try reading
http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/
testing.html and see if it helps you any on how to benchmark changes.

Now, with regard to the other issues, final decisions about what is
best for how to handle reentrancy depend upon the makeup on whatever
requires reentrancy.  Your patch may or may not be the ideal solution
to the problem.


Reply via email to