Simon Jakobi pushed to branch wip/sjakobi/T13960 at Glasgow Haskell Compiler / GHC

Commits:

2 changed files:

Changes:

  • testsuite/tests/perf/compiler/T13960.hs
    1
    +{-# LANGUAGE OverloadedStrings #-}
    
    2
    +
    
    3
    +-- GHC used to run out of simplifier ticks due to inlining the internals of
    
    4
    +-- `toStrict . toLazyByteString`.
    
    5
    +module T13960 (breaks) where
    
    6
    +
    
    7
    +import Data.ByteString (ByteString)
    
    8
    +import Data.ByteString.Builder (Builder, stringUtf8, toLazyByteString)
    
    9
    +import Data.ByteString.Lazy (toStrict)
    
    10
    +import Data.String (IsString(..))
    
    11
    +
    
    12
    +newtype Query = Query ByteString
    
    13
    +
    
    14
    +toByteString :: Builder -> ByteString
    
    15
    +toByteString x = toStrict (toLazyByteString x)
    
    16
    +
    
    17
    +instance IsString Query where
    
    18
    +  fromString = Query . toByteString . stringUtf8
    
    19
    +
    
    20
    +breaks :: [(Query, Query)]
    
    21
    +breaks =
    
    22
    +  [ ("query001a", "query001b")
    
    23
    +  , ("query002a", "query002b")
    
    24
    +  , ("query003a", "query003b")
    
    25
    +  , ("query004a", "query004b")
    
    26
    +  , ("query005a", "query005b")
    
    27
    +  , ("query006a", "query006b")
    
    28
    +  , ("query007a", "query007b")
    
    29
    +  , ("query008a", "query008b")
    
    30
    +  , ("query009a", "query009b")
    
    31
    +  , ("query010a", "query010b")
    
    32
    +  , ("query011a", "query011b")
    
    33
    +  , ("query012a", "query012b")
    
    34
    +  , ("query013a", "query013b")
    
    35
    +  , ("query014a", "query014b")
    
    36
    +  , ("query015a", "query015b")
    
    37
    +  , ("query016a", "query016b")
    
    38
    +  , ("query017a", "query017b")
    
    39
    +  , ("query018a", "query018b")
    
    40
    +  , ("query019a", "query019b")
    
    41
    +  , ("query020a", "query020b")
    
    42
    +  , ("query021a", "query021b")
    
    43
    +  , ("query022a", "query022b")
    
    44
    +  , ("query023a", "query023b")
    
    45
    +  , ("query024a", "query024b")
    
    46
    +  , ("query025a", "query025b")
    
    47
    +  , ("query026a", "query026b")
    
    48
    +  , ("query027a", "query027b")
    
    49
    +  , ("query028a", "query028b")
    
    50
    +  , ("query029a", "query029b")
    
    51
    +  , ("query030a", "query030b")
    
    52
    +  , ("query031a", "query031b")
    
    53
    +  , ("query032a", "query032b")
    
    54
    +  , ("query033a", "query033b")
    
    55
    +  , ("query034a", "query034b")
    
    56
    +  , ("query035a", "query035b")
    
    57
    +  , ("query036a", "query036b")
    
    58
    +  , ("query037a", "query037b")
    
    59
    +  , ("query038a", "query038b")
    
    60
    +  , ("query039a", "query039b")
    
    61
    +  , ("query040a", "query040b")
    
    62
    +  , ("query041a", "query041b")
    
    63
    +  , ("query042a", "query042b")
    
    64
    +  , ("query043a", "query043b")
    
    65
    +  , ("query044a", "query044b")
    
    66
    +  , ("query045a", "query045b")
    
    67
    +  , ("query046a", "query046b")
    
    68
    +  , ("query047a", "query047b")
    
    69
    +  , ("query048a", "query048b")
    
    70
    +  , ("query049a", "query049b")
    
    71
    +  , ("query050a", "query050b")
    
    72
    +  , ("query051a", "query051b")
    
    73
    +  , ("query052a", "query052b")
    
    74
    +  , ("query053a", "query053b")
    
    75
    +  , ("query054a", "query054b")
    
    76
    +  , ("query055a", "query055b")
    
    77
    +  , ("query056a", "query056b")
    
    78
    +  , ("query057a", "query057b")
    
    79
    +  , ("query058a", "query058b")
    
    80
    +  , ("query059a", "query059b")
    
    81
    +  , ("query060a", "query060b")
    
    82
    +  , ("query061a", "query061b")
    
    83
    +  , ("query062a", "query062b")
    
    84
    +  , ("query063a", "query063b")
    
    85
    +  , ("query064a", "query064b")
    
    86
    +  , ("query065a", "query065b")
    
    87
    +  , ("query066a", "query066b")
    
    88
    +  , ("query067a", "query067b")
    
    89
    +  , ("query068a", "query068b")
    
    90
    +  , ("query069a", "query069b")
    
    91
    +  , ("query070a", "query070b")
    
    92
    +  , ("query071a", "query071b")
    
    93
    +  , ("query072a", "query072b")
    
    94
    +  , ("query073a", "query073b")
    
    95
    +  , ("query074a", "query074b")
    
    96
    +  , ("query075a", "query075b")
    
    97
    +  , ("query076a", "query076b")
    
    98
    +  , ("query077a", "query077b")
    
    99
    +  , ("query078a", "query078b")
    
    100
    +  , ("query079a", "query079b")
    
    101
    +  , ("query080a", "query080b")
    
    102
    +  , ("query081a", "query081b")
    
    103
    +  , ("query082a", "query082b")
    
    104
    +  , ("query083a", "query083b")
    
    105
    +  , ("query084a", "query084b")
    
    106
    +  , ("query085a", "query085b")
    
    107
    +  , ("query086a", "query086b")
    
    108
    +  , ("query087a", "query087b")
    
    109
    +  , ("query088a", "query088b")
    
    110
    +  , ("query089a", "query089b")
    
    111
    +  , ("query090a", "query090b")
    
    112
    +  , ("query091a", "query091b")
    
    113
    +  , ("query092a", "query092b")
    
    114
    +  , ("query093a", "query093b")
    
    115
    +  , ("query094a", "query094b")
    
    116
    +  , ("query095a", "query095b")
    
    117
    +  , ("query096a", "query096b")
    
    118
    +  , ("query097a", "query097b")
    
    119
    +  , ("query098a", "query098b")
    
    120
    +  , ("query099a", "query099b")
    
    121
    +  , ("query100a", "query100b")
    
    122
    +  ]

  • testsuite/tests/perf/compiler/all.T
    ... ... @@ -680,6 +680,12 @@ test ('T13253-spj',
    680 680
           ],
    
    681 681
           compile,
    
    682 682
           ['-v0 -O'])
    
    683
    +test ('T13960',
    
    684
    +      [ collect_compiler_stats('peak_megabytes_allocated', 20),
    
    685
    +        collect_compiler_stats('bytes allocated', 2),
    
    686
    +      ],
    
    687
    +      compile,
    
    688
    +      ['-O'])
    
    683 689
     test ('T14766',
    
    684 690
           [ collect_compiler_stats('bytes allocated',2),
    
    685 691
             pre_cmd('python3 genT14766.py > T14766.hs'),