Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • GHC GHC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 5.5k
    • Issues 5.5k
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 639
    • Merge requests 639
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Model experiments
  • Analytics
    • Analytics
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Glasgow Haskell CompilerGlasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #19557

text benchmarks are wildly slower in 9.0.1

Reproduction

  • See also #19701 (closed), which reports a further regression from 9.0 to 9.2.
  1. Checkout text:
git clone https://github.com/haskell/text
cd text
git checkout ca73ae38ed3744ec930cbfdb706147ec29d5a185

git clone https://github.com/haskell/text-test-data benchmarks/text-test-data
make -Cbenchmarks/text-test-data
  1. Run ascii-small benchmarks with GHC 8.10.6 (it will take around five minutes):
cabal run -w ghc-8.10.6 benchmarks -- -p '/Text+ascii-small/' --csv 8.10.csv --hide-successes
  1. Compare again benchmarks with GHC 9.0.1 (it will take around five minutes):
cabal run -w ghc-9.0.1 benchmarks -- -p '/Text+ascii-small/' --baseline 8.10.csv --fail-if-slower 50 --hide-successes

Expected results

No benchmarks became slower.

Actual results

All
  Pure
    cons
      LazyText+ascii-small:       FAIL (1.87s)
        914 μs ±  62 μs, 4464167% slower than baseline
    intersperse
      Text+ascii-small:           FAIL (9.14s)
        560 μs ±  31 μs, 99% slower than baseline
    isInfixOf
      Text+ascii-small:           FAIL (5.67s)
        2.8 ms ± 234 μs, 224% slower than baseline
    mapAccumL
      Text+ascii-small:           FAIL (2.16s)
        263 μs ±  17 μs, 157% slower than baseline
      LazyText+ascii-small:       FAIL (4.21s)
        258 μs ± 7.6 μs, 160% slower than baseline
    mapAccumR
      Text+ascii-small:           FAIL (5.18s)
        633 μs ±  37 μs, 211% slower than baseline
      LazyText+ascii-small:       FAIL (5.34s)
        659 μs ±  46 μs, 228% slower than baseline
    reverse
      Text+ascii-small:           FAIL (2.23s)
        273 μs ±  26 μs, 241% slower than baseline
      LazyText+ascii-small:       FAIL (2.18s)
        269 μs ±  21 μs, 248% slower than baseline
    zipWith
      Text+ascii-small:           FAIL (3.67s)
        1.8 ms ± 113 μs, 91% slower than baseline
    length
      decode
        Text+ascii-small:         FAIL (1.57s)
          190 μs ±  15 μs, 249% slower than baseline
      intersperse
        Text+ascii-small:         FAIL (1.54s)
          376 μs ±  36 μs, 139% slower than baseline
      replicate char
        LazyText+ascii-small:     FAIL (2.09s)
          509 μs ±  36 μs, 1037% slower than baseline
      zipWith
        Text+ascii-small:         FAIL (2.30s)
          1.1 ms ±  86 μs, 101% slower than baseline
Edited Sep 20, 2021 by Bodigrim
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking