perlformance

For some weeks I now have my Perl benchmarking ready.

It is a whole little infrastructure, based on Tapper and Codespeed, an own not regularly updated CPAN mirror (to keep dependencies stable), and a dedicated benchmark machine.

One server (perlformance.net) is running the Tapper result database, the Tapper website, the codespeed graph rendering website and the CPAN mirror.

The second server (perl64.org: 6 core AMD Opteron 4180, Debian/Squeeze)
is dedicated to only run benchmarks, without any disruption from email, web,
or other services. I also took care of disabling all OS features that typically lead to deviation, like ASLR and Core Performance Boost.

Learn about the overall vision from my YAPC::EU 2011 slidedeck.

The benchmarks are produced by Benchmark::Perl::Formance.

If you browse the graphs at speed.perlformance.net you see some benchmarks are marked with a leading "(F)". These are results generated in "fastmode" which is usually run to get more results faster but naturally with more deviation. The "fastmode" is typically a local developer's tool and tweaked to work on slower machines but tracked here, too.

The CPAN mirror is updated only once in a while to keep dependencies more stable -- usually only when absolutely neccessary or convenient, e.g. when old Perl releases are tracked exhaustively with enough coverage.

Perl versions 5.8.x are tweaked very manually with forced installs, dedicated versions, partly other CPAN mirrors used, etc., to get something working at all.

I regularly struggle with dependencies when bleadperl breaks CPAN or on 5.8.x
which still requires some maintenance effort.

Anyway, whoever wants to have code benchmarked only needs to put the micro
snippets into a plugin like the Perlformance skeleton plugin and tell me, and I will take care of all the other stuff.

Leave a comment

About Renormalist

user-pic Born. Became programmer. Atari Basic, Pascal, C, C++, Java, Perl. In this order. :-) Played International Karate, Super Cobra, Loom, MechWarrior 1-4 and Quake 3. Studied computer science, Debian, Emacs, Perl. Active member of Dresden Perl Mongers.