[Git][ghc/ghc][wip/sjakobi/T13960] Add perf test for #13960
Simon Jakobi pushed to branch wip/sjakobi/T13960 at Glasgow Haskell Compiler / GHC Commits: 00a1f809 by Simon Jakobi at 2026-03-24T00:20:31+01:00 Add perf test for #13960 Closes #13960. - - - - - 2 changed files: - + testsuite/tests/perf/compiler/T13960.hs - testsuite/tests/perf/compiler/all.T Changes: ===================================== testsuite/tests/perf/compiler/T13960.hs ===================================== @@ -0,0 +1,122 @@ +{-# LANGUAGE OverloadedStrings #-} + +-- GHC used to run out of simplifier ticks due to inlining the internals of +-- `toStrict . toLazyByteString`. +module T13960 (breaks) where + +import Data.ByteString (ByteString) +import Data.ByteString.Builder (Builder, stringUtf8, toLazyByteString) +import Data.ByteString.Lazy (toStrict) +import Data.String (IsString(..)) + +newtype Query = Query ByteString + +toByteString :: Builder -> ByteString +toByteString x = toStrict (toLazyByteString x) + +instance IsString Query where + fromString = Query . toByteString . stringUtf8 + +breaks :: [(Query, Query)] +breaks = + [ ("query001a", "query001b") + , ("query002a", "query002b") + , ("query003a", "query003b") + , ("query004a", "query004b") + , ("query005a", "query005b") + , ("query006a", "query006b") + , ("query007a", "query007b") + , ("query008a", "query008b") + , ("query009a", "query009b") + , ("query010a", "query010b") + , ("query011a", "query011b") + , ("query012a", "query012b") + , ("query013a", "query013b") + , ("query014a", "query014b") + , ("query015a", "query015b") + , ("query016a", "query016b") + , ("query017a", "query017b") + , ("query018a", "query018b") + , ("query019a", "query019b") + , ("query020a", "query020b") + , ("query021a", "query021b") + , ("query022a", "query022b") + , ("query023a", "query023b") + , ("query024a", "query024b") + , ("query025a", "query025b") + , ("query026a", "query026b") + , ("query027a", "query027b") + , ("query028a", "query028b") + , ("query029a", "query029b") + , ("query030a", "query030b") + , ("query031a", "query031b") + , ("query032a", "query032b") + , ("query033a", "query033b") + , ("query034a", "query034b") + , ("query035a", "query035b") + , ("query036a", "query036b") + , ("query037a", "query037b") + , ("query038a", "query038b") + , ("query039a", "query039b") + , ("query040a", "query040b") + , ("query041a", "query041b") + , ("query042a", "query042b") + , ("query043a", "query043b") + , ("query044a", "query044b") + , ("query045a", "query045b") + , ("query046a", "query046b") + , ("query047a", "query047b") + , ("query048a", "query048b") + , ("query049a", "query049b") + , ("query050a", "query050b") + , ("query051a", "query051b") + , ("query052a", "query052b") + , ("query053a", "query053b") + , ("query054a", "query054b") + , ("query055a", "query055b") + , ("query056a", "query056b") + , ("query057a", "query057b") + , ("query058a", "query058b") + , ("query059a", "query059b") + , ("query060a", "query060b") + , ("query061a", "query061b") + , ("query062a", "query062b") + , ("query063a", "query063b") + , ("query064a", "query064b") + , ("query065a", "query065b") + , ("query066a", "query066b") + , ("query067a", "query067b") + , ("query068a", "query068b") + , ("query069a", "query069b") + , ("query070a", "query070b") + , ("query071a", "query071b") + , ("query072a", "query072b") + , ("query073a", "query073b") + , ("query074a", "query074b") + , ("query075a", "query075b") + , ("query076a", "query076b") + , ("query077a", "query077b") + , ("query078a", "query078b") + , ("query079a", "query079b") + , ("query080a", "query080b") + , ("query081a", "query081b") + , ("query082a", "query082b") + , ("query083a", "query083b") + , ("query084a", "query084b") + , ("query085a", "query085b") + , ("query086a", "query086b") + , ("query087a", "query087b") + , ("query088a", "query088b") + , ("query089a", "query089b") + , ("query090a", "query090b") + , ("query091a", "query091b") + , ("query092a", "query092b") + , ("query093a", "query093b") + , ("query094a", "query094b") + , ("query095a", "query095b") + , ("query096a", "query096b") + , ("query097a", "query097b") + , ("query098a", "query098b") + , ("query099a", "query099b") + , ("query100a", "query100b") + ] ===================================== testsuite/tests/perf/compiler/all.T ===================================== @@ -680,6 +680,12 @@ test ('T13253-spj', ], compile, ['-v0 -O']) +test ('T13960', + [ collect_compiler_stats('peak_megabytes_allocated', 20), + collect_compiler_stats('bytes allocated', 2), + ], + compile, + ['-O']) test ('T14766', [ collect_compiler_stats('bytes allocated',2), pre_cmd('python3 genT14766.py > T14766.hs'), View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/00a1f8099d7ababa5a0ca14c04bd7bbb... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/00a1f8099d7ababa5a0ca14c04bd7bbb... You're receiving this email because of your account on gitlab.haskell.org.
participants (1)
-
Simon Jakobi (@sjakobi2)