Skip to content

Some text benchmarks got slower in 9.2.0.20210331

Reproduction

  1. Checkout text:
git clone https://github.com/Bodigrim/text
cd text
git checkout bench-92 # 5bfa652

git clone https://github.com/bos/text-test-data benchmarks/text-test-data
cd benchmarks/text-test-data
make
cd ../..
  1. Run ascii-small benchmarks with GHC 9.0.1 (it will take around five minutes):
cabal bench -w ghc-9.0.1 --ghc-options '-fproc-alignment=64' --benchmark-options '--csv 9.0.1.csv --stdev 2 --timeout 100 --hide-successes -p ascii-small'
  1. Compare againt benchmarks with GHC 9.2.0.20210331 (it will take around five minutes):
cabal bench -w ghc-9.2.0.20210331 --ghc-options '-fproc-alignment=64' --benchmark-options '--baseline 9.0.1.csv --csv 9.2.0.csv --stdev 2 --timeout 100 --fail-if-slower 10 --hide-successes -p ascii-small'

Expected results

No benchmarks become slower.

Actual results

All
  Pure
    drop
      LazyText+ascii-small:       FAIL (0.62s)
         36 μs ± 1.2 μs, 18% slower than baseline
    last
      Text+ascii-small:           FAIL (1.69s)
         12 ns ± 364 ps, 12% slower than baseline
    mapAccumL
      Text+ascii-small:           FAIL (2.93s)
        699 μs ±  25 μs, 22% slower than baseline
      LazyText+ascii-small:       FAIL (20.79s)
        633 μs ± 3.4 μs, 16% slower than baseline
    mapAccumR
      Text+ascii-small:           FAIL (0.38s)
        1.4 ms ±  47 μs, 13% slower than baseline
    map.map
      Text+ascii-small:           FAIL (3.41s)
        200 μs ± 1.6 μs, 12% slower than baseline
    take
      LazyText+ascii-small:       FAIL (2.39s)
         36 μs ± 578 ns, 21% slower than baseline
    length
      cons
        Text+ascii-small:         FAIL (0.95s)
           55 μs ± 1.1 μs, 27% slower than baseline
      init
        Text+ascii-small:         FAIL (0.51s)
           56 μs ± 2.0 μs, 30% slower than baseline
      take
        Text+ascii-small:         FAIL (1.15s)
           66 μs ± 1.0 μs, 34% slower than baseline
      tail
        Text+ascii-small:         FAIL (0.51s)
           56 μs ± 1.3 μs, 28% slower than baseline

11 out of 101 tests failed (169.27s)
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information