Welcome to Perl::Formance.
This is about benchmarking Perl.
It combines several projects: the actual benchmark suite, tools to bootstrap a complete Perl+CPAN from git, a results database and a graph rendering web application.
Where are the results?
- The graphs are here.
Synopsis
For your local use try the whole mix in one go with:
curl -Ls http://perlformance.net/bootstrap-perl | perl - --perlformance
This will by default build a "blead" Perl in /tmp/bootstrap-perl-build, install CPAN with dependencies, run benchmarks and print out the results on screen at the end.
After --perlformance you can provide other versions
via --version=v5.14.2 or --version=01725c1~3; basically
any rev that "git" understands.
The benchmark suite
Benchmark::Perl::Formance is the framework for running benchmarks. It requires just a few dependencies and runs a basic set of benchmarks.
More benchmarks
Task::PerlFormance provides the full set of benchmarks via dependencies from CPAN.
Your benchmarks
- You have a code snippet worth to measure over many Perls? Create a ticket with details.
- You have a server from where you want to regularly report results to my central results DB? Contact me.
Bootstrap Perl
App::Bootstrap::Perl is yet another Perl builder. It focuses on
- building from git
- set up CPAN.pm with distroprefs for unattended installation
- lightweight work-arounds for known build problems (e.g., for old 5.8/5.9 Perls)
- inject auxiliary tools to restore build information later
- optionally start programs from the built Perl (e.g, the benchmark suite)
Websites
There are two related websites:
- http://perlformance.net/tapper - raw results
- http://speed.perlformance.net - rendered graphs
Used infrastructure
- Tapper for the overall test infrastructure and results database
- Codespeed for rendering benchmark graphs
Presentations
- Overall vision at YAPC::EU 2011
- Numbers and conclusions at YAPC::EU 2012