Performance regression in bytestring from 8.8 to 8.10
Summary
Many of the benchmarks in bytestring
's bench-bytestring-builder
benchmark suite run much slower with 8.10.1-alpha2 than with 8.8.
Here are the first lines of the benchmark diff (produced with criterion-compare
), sorted by significance:
Some of the results may be noisy, but at that magnitude it shouldn't matter much.
I also benchmarked with HEAD (923a1272), and got even worse results, but that might have been because that ghc
was built with --flavour=Quick
.
Note that the substrings/*
benchmarks measure the findSubstrings
function, which is deprecated. So the performance of the other benchmarks is actually more important.
Steps to reproduce
- Clone the branch from this PR which fixes building the benchmarks.
cd bench
cabal -O2 run bench-bytestring-builder
Expected behavior
The performance of these benchmarks should be no worse with 8.10 than with 8.8.
Environment
- GHC versions used: 8.8.1 and 8.10.1-alpha2, both from hvr's PPA.
- Operating System: Linux
- System Architecture:
x86_64