Release builds should be profiled builds
Created originally on Bitbucket by petevine (Pete Vine)
It turns out the generated C code is not so brittle as to make profiled builds impossible.
Required steps that could be automated:
- translate with
- compile after adding
-fprofile-generate -lgcovto the Makefile
- collect profile data by benchmarking the "intermediate" binary inside the source directory
- recompile with
- Profit! The measured speedup for most of the benchmarks is a nice
The process takes significantly longer than the vanilla one but is definitely worth it once in a while. Official releases seem like the perfect candidates to be built this way.
I can upload the 32-bit Linux standard/profiled pypy binaries (same revision) if anyone's interested in a quick test.