develooper Front page | perl.perl5.porters | Postings from November 2011

Perl Performance Project? (was: Re: The end of 5.6 is nigh!)

Thread Previous | Thread Next
Michael G Schwern
November 16, 2011 13:12
Perl Performance Project? (was: Re: The end of 5.6 is nigh!)
Message ID:
On 2011.11.16 10:56 AM, Reini Urban wrote:
> 5.6 is fast and almost never wrong compared to 5.14. With higher perls
> it is even much easier to get wrong results, because of more
> unexpected magic happening behind, more dependency bloat and less
> experienced hackers working on it.

As much as I love unconstructively pining for old, broken versions of Perl
(how's that 5.6 Unicode working?) and having a Zero Sum development philosophy
(ie. to fix bugs and add features you have to slow things down), it occurs to
me that we could do something about it.

I'm inspired by Firefox's [1] performance boosting sub-projects [2] like
MemShrink [3] to suggest a similar drive for Perl 5.

* Make a realistic benchmark suite of both performance and memory [4]
* Set up a smoker to the benchmarks and report significant differences
  and performance creeps to p5p, like with tests

Then at least we know how fast (or slow) we're getting.  Then we can do and
publish some information on why things are slow.

* Information on how to build with profiling and using it
* Published profile analysis of various benchmarks
* Examine and publish sources of subroutine call performance issues

And try some concrete ways to get faster.

* Adapt for llvm (or whatever optimizing compiler)
* Get copy-on-write working
* Release memory more often
* Fix circular memory handling
* Combine op codes

[1] Let's just pretend you all complained about Firefox and advocated your
favorite browser and skip that part because it's NOT THE POINT



[4] perlbench, while an admirable start, does not cut it

"Clutter and overload are not an attribute of information,
 they are failures of design"
    -- Edward Tufte

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About