Re: Re: Zend JIT Open Sourced
| From: | Dmitry Stogov | Date: | Fri, 27 Feb 2015 20:22:51 +0000 |
| Subject: | Re: Re: Zend JIT Open Sourced | ||
| References: | 1 2 3 4 5 6 7 8 9 10 11 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-84041@lists.php.net to get a copy of this message | ||
On Fri, Feb 27, 2015 at 10:36 PM, Anthony Ferrara <ircmaxell@gmail.com>
wrote:
> Dmitry,
>
> >> That's not to say there's anything wrong with this approach, nor that
> >> there isn't a ton we can learn from it. I think it's a fantastic
> >> research effort and plan on digging through it myself. Thank you for
> >> open sourcing it.
> >
> >
> > Thanks for good words :)
> >
> > This work may be adopted for some specific cases.
> > 25-30 times speedup on Mandelbrot allows usage for numeric calculation
> > instead of C.
> >
> > https://gist.github.com/dstogov/12323ad13d3240aee8f1
> >
> > anyone may repeat the language battle :)
>
> These tests seem really odd. A 15% speed advantage over GCC -O2? Sure,
> it's possible. But I don't think it's likely. It really smells to me
> like bias in the testing methodology. (and the lack of an -O3 result
> is suspicious as well).
>
> And looking at the code, I can see why. The PHP version is writing to
> an internal buffer, while every other version has to write to STDOUT
> on every single iteration.
>
> So you are intentionally not benchmarking the output in the PHP
> version (you even explicitly call ob_start()) but are benchmarking it
> in every other version. So in fact, the PHP code does something
> different than the rest of the code.
>
> Sneaky sneaky. Also completely fake.
Please, be polite. We opened sources, and the sources of benchmarks. Anyone
can repeat this.
Smart people may analyze results themselves before claiming others.
I think you are smart person, and I respect the things you are doing.
Thanks. Dmitry.
A proper methodology would have
> explicitly disabled any buffer so that the tests all tested the same
> thing. Or even better, build up an internal buffer in all of the
> implementations. That way you can compare the computation and not rely
> on STDOUT (terminal) response.
>
> Anthony
>