Skip to content

Lack of eta-expansion causes big perf regression in text

See also #23092

On the current state of the 9.6 branch we see quite uniform regressions in performance of text. The benchmarks are relative to a 9.4.4 baseline.

All
  Builder
    Comparison
      LazyText:                      OK (0.84s)
        1.40 ms ±  41 μs,       same as baseline
    Int
      Decimal
        Positive
          1:                         OK (0.35s)
            26.8 ns ± 1.6 ns, 13% less than baseline
          2:                         OK (0.40s)
            35.9 ns ± 1.4 ns,  9% less than baseline
          3:                         OK (0.74s)
            37.8 ns ± 3.7 ns,       same as baseline
          4:                         OK (0.42s)
            37.4 ns ± 1.7 ns, 12% less than baseline
          5:                         OK (6.51s)
            46.7 ns ± 3.2 ns,  7% less than baseline
          6:                         OK (6.13s)
            43.9 ns ± 1.3 ns,  8% less than baseline
          7:                         OK (0.91s)
            48.2 ns ± 1.5 ns,       same as baseline
          8:                         OK (0.51s)
            48.2 ns ± 4.1 ns, 17% less than baseline
          9:                         OK (0.34s)
            57.6 ns ± 5.1 ns,  8% less than baseline
          10:                        OK (1.10s)
            58.5 ns ± 1.8 ns, 22% less than baseline
          11:                        OK (0.24s)
            66.8 ns ± 6.0 ns, 16% less than baseline
          12:                        OK (1.27s)
            67.6 ns ± 1.1 ns, 15% less than baseline
          13:                        OK (0.45s)
            81.7 ns ± 4.2 ns, 12% less than baseline
          14:                        OK (0.45s)
            84.0 ns ± 5.1 ns, 10% less than baseline
          15:                        OK (0.30s)
            92.0 ns ± 9.0 ns, 13% less than baseline
          16:                        OK (0.30s)
            93.5 ns ± 8.0 ns, 11% less than baseline
          17:                        OK (0.33s)
            103  ns ± 7.0 ns,       same as baseline
          18:                        OK (0.32s)
            102  ns ± 5.8 ns, 13% less than baseline
          19:                        OK (0.34s)
            110  ns ± 9.4 ns,  8% less than baseline
        Negative
          2:                         OK (0.73s)
            35.7 ns ± 1.7 ns,  4% less than baseline
          3:                         OK (0.27s)
            34.4 ns ± 2.7 ns,  9% less than baseline
          4:                         OK (0.45s)
            38.4 ns ± 1.9 ns, 11% less than baseline
          5:                         OK (0.28s)
            38.3 ns ± 3.6 ns, 10% less than baseline
          6:                         OK (0.50s)
            44.8 ns ± 3.8 ns,       same as baseline
          7:                         OK (0.50s)
            44.1 ns ± 1.8 ns,       same as baseline
          8:                         OK (0.34s)
            51.1 ns ± 3.8 ns,       same as baseline
          9:                         OK (0.34s)
            51.0 ns ± 4.3 ns, 10% less than baseline
          10:                        OK (0.25s)
            61.3 ns ± 6.1 ns,       same as baseline
          11:                        OK (0.38s)
            59.4 ns ± 5.8 ns,       same as baseline
          12:                        OK (0.42s)
            69.8 ns ± 2.7 ns,       same as baseline
          13:                        OK (0.42s)
            69.7 ns ± 3.2 ns,       same as baseline
          14:                        OK (0.30s)
            85.8 ns ± 7.2 ns,       same as baseline
          15:                        OK (0.88s)
            87.5 ns ± 6.1 ns,       same as baseline
          16:                        OK (0.33s)
            94.6 ns ± 5.9 ns, 11% less than baseline
          17:                        OK (0.33s)
            94.1 ns ± 7.6 ns,       same as baseline
          18:                        OK (0.37s)
            116  ns ± 8.4 ns,  8% more than baseline
          19:                        OK (0.37s)
            106  ns ± 9.6 ns,       same as baseline
          20:                        OK (0.24s)
            115  ns ±  11 ns,       same as baseline
        Empty:                       OK (0.54s)
          23.3 ns ± 1.6 ns, 10% less than baseline
        Show
          1:                         OK (0.53s)
            11.1 ns ± 836 ps, 20% less than baseline
          2:                         OK (0.31s)
            19.5 ns ± 1.5 ns,       same as baseline
          3:                         OK (0.67s)
            31.1 ns ± 850 ps,       same as baseline
          4:                         OK (0.31s)
            40.4 ns ± 3.2 ns, 17% less than baseline
          5:                         OK (0.35s)
            49.6 ns ± 4.1 ns, 14% less than baseline
          6:                         OK (0.68s)
            64.1 ns ± 3.1 ns,       same as baseline
          7:                         OK (0.46s)
            72.6 ns ± 3.8 ns,       same as baseline
          8:                         OK (0.47s)
            83.9 ns ± 4.0 ns,  7% less than baseline
          9:                         OK (0.54s)
            95.3 ns ± 3.2 ns,       same as baseline
          10:                        OK (0.60s)
            107  ns ± 9.8 ns, 15% less than baseline
          11:                        OK (1.15s)
            119  ns ± 2.6 ns,       same as baseline
          12:                        OK (0.26s)
            128  ns ±  12 ns, 16% less than baseline
          13:                        OK (0.44s)
            143  ns ±  13 ns,       same as baseline
          14:                        OK (0.46s)
            154  ns ± 8.6 ns,  7% less than baseline
          15:                        OK (0.46s)
            164  ns ±  12 ns,       same as baseline
          16:                        OK (0.51s)
            176  ns ± 8.1 ns,  4% less than baseline
          17:                        OK (0.31s)
            184  ns ±  12 ns,       same as baseline
          18:                        OK (0.34s)
            196  ns ±  17 ns,       same as baseline
          19:                        OK (0.36s)
            208  ns ±  16 ns,       same as baseline
  Concat
    append:                          OK (0.51s)
      41.5 ns ± 2.5 ns,  6% less than baseline
    concat:                          OK (0.28s)
      135  ns ±  12 ns,       same as baseline
    write:                           OK (0.33s)
      43.3 ns ± 4.1 ns,       same as baseline
  DecodeUtf8
    html
      Strict:                        OK (0.80s)
        39.6 μs ± 700 ns, 14% less than baseline
      Stream:                        OK (0.80s)
        41.0 μs ± 985 ns, 21% less than baseline
      StrictLength:                  OK (0.44s)
        79.3 μs ± 3.1 μs,       same as baseline
      StrictInitLength:              OK (0.43s)
        77.6 μs ± 7.7 μs,       same as baseline
      Lazy:                          OK (0.47s)
        41.8 μs ± 3.2 μs, 15% less than baseline
      LazyLength:                    OK (0.44s)
        80.1 μs ± 5.2 μs,       same as baseline
      LazyInitLength:                OK (0.77s)
        77.8 μs ± 4.3 μs,  8% less than baseline
    xml
      Strict:                        OK (1.26s)
        8.95 ms ± 816 μs,       same as baseline
      Stream:                        OK (0.15s)
        17.3 ms ± 1.7 ms, 11% less than baseline
      StrictLength:                  OK (0.56s)
        15.4 ms ± 1.5 ms, 13% less than baseline
      StrictInitLength:              OK (0.58s)
        15.9 ms ± 461 μs,       same as baseline
      Lazy:                          OK (0.31s)
        18.0 ms ± 849 μs,       same as baseline
      LazyLength:                    OK (0.56s)
        15.8 ms ± 617 μs,       same as baseline
      LazyInitLength:                OK (0.29s)
        16.0 ms ± 1.3 ms,       same as baseline
    ascii
      Strict:                        OK (1.19s)
        8.35 ms ± 111 μs,  5% less than baseline
      Stream:                        OK (0.37s)
        23.4 ms ± 853 μs,       same as baseline
      StrictLength:                  OK (1.11s)
        15.6 ms ± 1.0 ms, 15% less than baseline
      StrictInitLength:              OK (1.10s)
        15.6 ms ± 966 μs,  8% less than baseline
      Lazy:                          OK (0.36s)
        22.9 ms ± 1.4 ms,  6% less than baseline
      LazyLength:                    OK (0.54s)
        15.7 ms ± 364 μs, 12% less than baseline
      LazyInitLength:                OK (0.29s)
        16.4 ms ± 1.6 ms, 10% less than baseline
    russian
      Strict:                        OK (0.48s)
        676  μs ±  58 μs,       same as baseline
      Stream:                        OK (0.59s)
        952  μs ±  37 μs,       same as baseline
      StrictLength:                  OK (0.42s)
        1.40 ms ±  57 μs,       same as baseline
      StrictInitLength:              OK (0.82s)
        1.35 ms ±  85 μs,       same as baseline
      Lazy:                          OK (0.33s)
        968  μs ±  64 μs,       same as baseline
      LazyLength:                    OK (0.26s)
        1.55 ms ± 101 μs,       same as baseline
      LazyInitLength:                OK (0.26s)
        1.55 ms ± 120 μs,       same as baseline
    japanese
      Strict:                        OK (0.61s)
        1.73 μs ± 113 ns,       same as baseline
      Stream:                        OK (0.63s)
        1.80 μs ±  61 ns,  5% less than baseline
      StrictLength:                  OK (0.35s)
        3.23 μs ± 246 ns,       same as baseline
      StrictInitLength:              OK (0.36s)
        3.42 μs ± 209 ns,       same as baseline
      Lazy:                          OK (0.39s)
        1.90 μs ± 114 ns,       same as baseline
      LazyLength:                    OK (0.55s)
        3.25 μs ± 149 ns,       same as baseline
      LazyInitLength:                OK (0.35s)
        3.37 μs ± 165 ns,       same as baseline
    ascii
      strict decodeUtf8:             OK (1.20s)
        8.22 ms ± 246 μs,       same as baseline
      strict decodeLatin1:           OK (0.69s)
        8.78 ms ± 651 μs,       same as baseline
      strict decodeASCII:            OK (2.38s)
        8.69 ms ± 525 μs,       same as baseline
      lazy decodeUtf8:               OK (0.40s)
        25.4 ms ± 2.0 ms,       same as baseline
      lazy decodeLatin1:             OK (0.65s)
        40.3 ms ± 861 μs,  8% more than baseline
      lazy decodeASCII:              OK (0.38s)
        23.3 ms ± 1.5 ms,       same as baseline
  EncodeUtf8
    non-ASCII
      Text:                          OK (0.36s)
        210  μs ±  21 μs, 14% more than baseline
      LazyText:                      OK (0.67s)
        276  μs ±  16 μs,  7% less than baseline
      Text/encodeUtf8Builder:        OK (0.28s)
        390  μs ±  31 μs,       same as baseline
      Text/encodeUtf8BuilderEscaped: OK (0.28s)
        1.71 ms ±  95 μs,       same as baseline
    ASCII
      Text:                          OK (0.57s)
        100  μs ± 5.3 μs, 11% less than baseline
      LazyText:                      OK (0.29s)
        93.0 μs ± 7.2 μs,  8% less than baseline
      Text/encodeUtf8Builder:        OK (0.33s)
        112  μs ± 7.5 μs,       same as baseline
      Text/encodeUtf8BuilderEscaped: OK (0.36s)
        535  μs ±  35 μs,       same as baseline
  Equality
    Text:                            OK (0.50s)
      8.59 ns ± 688 ps, 15% more than baseline
    LazyText:                        OK (0.40s)
      12.0 ns ± 966 ps,       same as baseline
  FileRead
    Text:                            OK (0.36s)
      21.4 ms ± 704 μs,  9% more than baseline
    LazyText:                        OK (0.17s)
      20.5 ms ± 1.8 ms, 14% more than baseline
    TextByteString:                  OK (0.42s)
      2.47 ms ± 237 μs,       same as baseline
    LazyTextByteString:              OK (0.21s)
      2.39 ms ± 232 μs,       same as baseline
  ReadLines
    Text:                            OK (0.22s)
      27.0 ms ± 2.2 ms,       same as baseline
  Multilang
    find_first:                      OK (0.17s)
      19.7 ms ± 1.5 ms, 10% more than baseline
    find_index:                      OK (0.77s)
      544  ns ±  18 ns,       same as baseline
  Pure
    tiny
      append
        Text:                        OK (0.37s)
          18.4 ns ± 1.3 ns,       same as baseline
        LazyText:                    OK (0.50s)
          17.3 ns ± 1.1 ns,       same as baseline
      concat
        Text:                        OK (0.77s)
          16.0 ns ± 534 ps,       same as baseline
        LazyText:                    OK (0.49s)
          16.8 ns ± 1.6 ns,       same as baseline
      cons
        Text:                        OK (0.39s)
          47.9 ns ± 4.3 ns,       same as baseline
        LazyText:                    OK (0.32s)
          15.3 ns ± 1.5 ns,       same as baseline
      decode
        Text:                        OK (0.63s)
          24.2 ns ± 1.5 ns,       same as baseline
        LazyText:                    OK (0.40s)
          105  ns ± 9.7 ns,       same as baseline
      decode'
        Text:                        OK (0.48s)
          34.1 ns ± 2.8 ns,       same as baseline
        LazyText:                    OK (0.44s)
          119  ns ± 9.6 ns,       same as baseline
      drop
        Text:                        OK (0.47s)
          15.4 ns ± 1.2 ns,       same as baseline
        LazyText:                    OK (0.52s)
          19.1 ns ± 970 ps,       same as baseline
      encode
        Text:                        OK (0.77s)
          16.3 ns ± 1.0 ns,       same as baseline
        LazyText:                    OK (0.42s)
          26.9 ns ± 1.7 ns,       same as baseline
      filter
        Text:                        OK (0.61s)
          23.7 ns ± 1.6 ns,       same as baseline
        LazyText:                    OK (0.41s)
          25.4 ns ± 1.3 ns,       same as baseline
      filter.filter
        Text:                        OK (0.40s)
          24.4 ns ± 2.0 ns,       same as baseline
        LazyText:                    OK (1.10s)
          26.1 ns ± 1.4 ns,       same as baseline
      foldl'
        Text:                        OK (0.64s)
          26.0 ns ± 778 ps,       same as baseline
        LazyText:                    OK (0.30s)
          58.1 ns ± 5.6 ns, 19% more than baseline
      foldr
        Text:                        OK (0.44s)
          58.9 ns ± 3.9 ns, 10% more than baseline
        LazyText:                    OK (0.37s)
          89.4 ns ± 5.8 ns,       same as baseline
      head
        Text:                        OK (0.73s)
          7.72 ns ± 526 ps, 16% more than baseline
        LazyText:                    OK (0.67s)
          13.5 ns ± 486 ps,  6% more than baseline
      init
        Text:                        OK (0.34s)
          8.34 ns ± 704 ps,       same as baseline
        LazyText:                    OK (0.63s)
          12.3 ns ± 1.2 ns,       same as baseline
      intercalate
        Text:                        OK (0.61s)
          23.6 ns ± 1.5 ns,  8% more than baseline
        LazyText:                    OK (0.89s)
          20.6 ns ± 888 ps, 11% more than baseline
      intersperse
        Text:                        OK (0.55s)
          42.0 ns ± 2.4 ns,       same as baseline
        LazyText:                    OK (0.67s)
          239  ns ± 9.0 ns,  9% more than baseline
      isInfixOf
        Text:                        OK (1.39s)
          70.7 ns ± 5.4 ns, 17% less than baseline
        LazyText:                    OK (0.48s)
          71.3 ns ± 7.1 ns, 16% more than baseline
      last
        Text:                        OK (0.33s)
          7.09 ns ± 644 ps, 16% more than baseline
        LazyText:                    OK (0.75s)
          8.09 ns ± 622 ps,  8% more than baseline
      map
        Text:                        OK (0.48s)
          34.4 ns ± 2.1 ns,       same as baseline
        LazyText:                    OK (0.36s)
          41.8 ns ± 3.5 ns,       same as baseline
      mapAccumL
        Text:                        OK (0.80s)
          36.0 ns ± 1.1 ns,  9% more than baseline
        LazyText:                    OK (0.50s)
          75.0 ns ± 2.8 ns, 10% more than baseline
      mapAccumR
        Text:                        OK (0.48s)
          35.4 ns ± 2.4 ns,       same as baseline
        LazyText:                    OK (0.49s)
          70.5 ns ± 5.9 ns,  9% more than baseline
      map.map
        Text:                        OK (0.33s)
          36.5 ns ± 2.9 ns,       same as baseline
        LazyText:                    OK (0.36s)
          43.6 ns ± 3.6 ns,       same as baseline
      replicate char
        Text:                        OK (0.31s)
          31.2 ns ± 2.8 ns, 11% more than baseline
        LazyText:                    OK (0.33s)
          74.0 ns ± 6.9 ns,       same as baseline
      replicate string
        Text:                        OK (0.45s)
          7.99 ns ± 402 ps,       same as baseline
        LazyText:                    OK (0.40s)
          54.9 ns ± 4.9 ns, 28% more than baseline
      reverse
        Text:                        OK (0.45s)
          15.3 ns ± 762 ps, 11% more than baseline
        LazyText:                    OK (0.59s)
          23.7 ns ± 1.3 ns,       same as baseline
      take
        Text:                        OK (1.20s)
          14.5 ns ± 634 ps,  8% more than baseline
        LazyText:                    OK (0.50s)
          18.1 ns ± 668 ps,       same as baseline
      tail
        Text:                        OK (0.86s)
          9.89 ns ± 398 ps, 12% more than baseline
        LazyText:                    OK (0.36s)
          10.3 ns ± 982 ps,       same as baseline
      toLower
        Text:                        OK (0.61s)
          50.3 ns ± 2.1 ns, 75% more than baseline
        LazyText:                    OK (0.32s)
          34.8 ns ± 3.1 ns,       same as baseline
      toUpper
        Text:                        OK (0.28s)
          55.8 ns ± 5.5 ns, 89% more than baseline
        LazyText:                    OK (0.33s)
          37.2 ns ± 2.8 ns,       same as baseline
      uncons
        Text:                        OK (2.16s)
          13.6 ns ± 150 ps, 10% more than baseline
        LazyText:                    OK (1.14s)
          27.9 ns ± 1.6 ns, 19% more than baseline
      words
        Text:                        OK (0.52s)
          20.2 ns ± 1.1 ns,  8% more than baseline
        LazyText:                    OK (0.42s)
          55.6 ns ± 3.8 ns, 15% more than baseline
      zipWith
        Text:                        OK (0.66s)
          117  ns ± 5.9 ns, 18% more than baseline
        LazyText:                    OK (0.30s)
          265  ns ±  23 ns, 23% more than baseline
      length
        cons
          Text:                      OK (0.38s)
            21.0 ns ± 1.7 ns, 11% more than baseline
          LazyText:                  OK (0.42s)
            23.7 ns ± 2.0 ns, 15% more than baseline
        decode
          Text:                      OK (0.58s)
            38.8 ns ± 2.7 ns, 14% more than baseline
          LazyText:                  OK (0.34s)
            152  ns ±  11 ns, 34% more than baseline
        drop
          Text:                      OK (0.43s)
            26.0 ns ± 1.7 ns,       same as baseline
          LazyText:                  OK (0.41s)
            28.0 ns ± 2.5 ns,       same as baseline
        filter
          Text:                      OK (0.54s)
            19.2 ns ± 1.7 ns, 26% more than baseline
          LazyText:                  OK (0.31s)
            28.6 ns ± 2.8 ns, 20% more than baseline
        filter.filter
          Text:                      OK (0.54s)
            19.2 ns ± 758 ps, 25% more than baseline
          LazyText:                  OK (0.75s)
            28.8 ns ± 2.7 ns, 21% more than baseline
        init
          Text:                      OK (0.36s)
            20.2 ns ± 1.9 ns, 21% more than baseline
          LazyText:                  OK (1.02s)
            24.3 ns ± 2.0 ns,       same as baseline
        intercalate
          Text:                      OK (0.39s)
            23.9 ns ± 1.8 ns,       same as baseline
          LazyText:                  OK (0.40s)
            25.3 ns ± 2.0 ns,       same as baseline
        intersperse
          Text:                      OK (0.37s)
            22.6 ns ± 1.8 ns,       same as baseline
          LazyText:                  OK (0.57s)
            22.9 ns ± 936 ps,       same as baseline
        map
          Text:                      OK (0.35s)
            20.6 ns ± 1.3 ns,       same as baseline
          LazyText:                  OK (0.37s)
            22.4 ns ± 1.8 ns,       same as baseline
        map.map
          Text:                      OK (0.90s)
            20.7 ns ± 840 ps,  7% more than baseline
          LazyText:                  OK (0.57s)
            22.2 ns ± 1.6 ns,       same as baseline
        replicate char
          Text:                      OK (0.85s)
            19.7 ns ± 1.2 ns,       same as baseline
          LazyText:                  OK (0.32s)
            16.8 ns ± 1.4 ns,       same as baseline
        replicate string
          Text:                      OK (3.09s)
            21.1 ns ± 362 ps,       same as baseline
          LazyText:                  OK (0.49s)
            18.3 ns ± 848 ps, 13% more than baseline
        take
          Text:                      OK (0.52s)
            19.6 ns ± 826 ps,       same as baseline
          LazyText:                  OK (1.00s)
            24.4 ns ± 502 ps,  9% more than baseline
        tail
          Text:                      OK (0.96s)
            21.9 ns ± 1.3 ns,  9% more than baseline
          LazyText:                  OK (0.43s)
            25.8 ns ± 2.2 ns, 17% more than baseline
        toLower
          Text:                      OK (0.62s)
            49.9 ns ± 4.6 ns, 21% more than baseline
          LazyText:                  OK (0.32s)
            60.3 ns ± 5.5 ns, 22% more than baseline
        toUpper
          Text:                      OK (0.54s)
            42.5 ns ± 1.9 ns,       same as baseline
          LazyText:                  OK (0.66s)
            59.1 ns ± 2.0 ns, 17% more than baseline
        words
          Text:                      OK (13.16s)
            23.6 ns ± 1.3 ns, 16% more than baseline
          LazyText:                  OK (0.57s)
            46.1 ns ± 2.0 ns, 34% more than baseline
        zipWith
          Text:                      OK (0.56s)
            21.6 ns ± 1.5 ns,       same as baseline
          LazyText:                  OK (0.39s)
            23.7 ns ± 2.1 ns,       same as baseline
      Builder
        mappend char:                OK (0.33s)
          13.1 μs ± 1.2 μs,       same as baseline
        mappend 8 char:              OK (0.60s)
          48.3 ns ± 4.2 ns, 10% more than baseline
        mappend text:                OK (0.34s)
          59.4 μs ± 5.0 μs,       same as baseline
    ascii-small
      append
        Text:                        OK (0.34s)
          13.3 μs ± 727 ns,       same as baseline
        LazyText:                    OK (0.51s)
          70.9 ns ± 6.3 ns, 43% more than baseline
      concat
        Text:                        OK (0.34s)
          25.3 μs ± 1.8 μs, 13% more than baseline
        LazyText:                    OK (1.39s)
          9.29 μs ± 307 ns, 11% more than baseline
      cons
        Text:                        OK (0.34s)
          495  μs ±  49 μs, 27% more than baseline
        LazyText:                    OK (0.53s)
          18.7 ns ± 1.2 ns, 13% more than baseline
      decode
        Text:                        OK (0.37s)
          6.97 μs ± 438 ns,  8% less than baseline
        LazyText:                    OK (0.64s)
          7.41 μs ± 579 ns,       same as baseline
      decode'
        Text:                        OK (0.60s)
          7.02 μs ± 453 ns,       same as baseline
        LazyText:                    OK (0.24s)
          7.43 μs ± 682 ns,       same as baseline
      drop
        Text:                        OK (0.32s)
          2.74 μs ± 218 ns,       same as baseline
        LazyText:                    OK (0.33s)
          2.78 μs ± 164 ns,       same as baseline
      encode
        Text:                        OK (0.34s)
          6.16 μs ± 433 ns,  7% less than baseline
        LazyText:                    OK (0.39s)
          7.64 μs ± 520 ns,       same as baseline
      filter
        Text:                        OK (0.35s)
          125  μs ± 8.1 μs,  9% more than baseline
        LazyText:                    OK (0.22s)
          124  μs ±  11 μs,       same as baseline
      filter.filter
        Text:                        OK (0.35s)
          123  μs ± 6.6 μs,       same as baseline
        LazyText:                    OK (0.22s)
          123  μs ±  11 μs,       same as baseline
      foldl'
        Text:                        OK (0.40s)
          308  μs ±  25 μs, 16% more than baseline
        LazyText:                    OK (0.24s)
          662  μs ±  62 μs, 17% more than baseline
      foldr
        Text:                        OK (0.23s)
          682  μs ±  59 μs, 12% more than baseline
        LazyText:                    OK (0.39s)
          1.25 ms ± 110 μs, 14% more than baseline
      head
        Text:                        OK (0.33s)
          7.50 ns ± 698 ps, 10% more than baseline
        LazyText:                    OK (0.69s)
          14.2 ns ± 854 ps, 10% more than baseline
      init
        Text:                        OK (0.80s)
          8.54 ns ± 362 ps,  9% more than baseline
        LazyText:                    OK (0.69s)
          57.3 ns ± 4.2 ns, 15% more than baseline
      intercalate
        Text:                        OK (0.41s)
          74.3 μs ± 4.1 μs, 12% more than baseline
        LazyText:                    OK (0.22s)
          27.4 μs ± 2.7 μs, 12% more than baseline
      intersperse
        Text:                        OK (0.26s)
          170  μs ±  11 μs,       same as baseline
        LazyText:                    OK (0.36s)
          2.32 ms ± 178 μs, 11% more than baseline
      isInfixOf
        Text:                        OK (0.40s)
          917  ns ±  44 ns,       same as baseline
        LazyText:                    OK (0.27s)
          1.93 μs ± 170 ns,       same as baseline
      last
        Text:                        OK (0.46s)
          6.91 ns ± 656 ps, 15% more than baseline
        LazyText:                    OK (0.43s)
          12.7 ns ± 1.0 ns,       same as baseline
      map
        Text:                        OK (0.21s)
          255  μs ±  22 μs,       same as baseline
        LazyText:                    OK (0.22s)
          259  μs ±  23 μs, 10% more than baseline
      mapAccumL
        Text:                        OK (0.53s)
          857  μs ±  63 μs,       same as baseline
        LazyText:                    OK (0.25s)
          685  μs ±  54 μs,       same as baseline
      mapAccumR
        Text:                        OK (0.33s)
          971  μs ±  56 μs,       same as baseline
        LazyText:                    OK (0.48s)
          769  μs ±  53 μs,       same as baseline
      map.map
        Text:                        OK (0.23s)
          286  μs ±  24 μs,       same as baseline
        LazyText:                    OK (0.23s)
          284  μs ±  27 μs,       same as baseline
      replicate char
        Text:                        OK (0.36s)
          13.1 μs ± 1.3 μs,       same as baseline
        LazyText:                    OK (0.37s)
          3.32 μs ± 224 ns, 18% more than baseline
      replicate string
        Text:                        OK (0.36s)
          13.3 μs ± 948 ns,       same as baseline
        LazyText:                    OK (0.60s)
          3.39 μs ± 324 ns, 19% more than baseline
      reverse
        Text:                        OK (0.38s)
          31.8 μs ± 1.6 μs, 26% more than baseline
        LazyText:                    OK (0.39s)
          31.9 μs ± 2.5 μs, 26% more than baseline
      take
        Text:                        OK (0.33s)
          2.73 μs ± 211 ns,       same as baseline
        LazyText:                    OK (0.34s)
          2.83 μs ± 231 ns,       same as baseline
      tail
        Text:                        OK (0.59s)
          10.5 ns ± 380 ps, 14% more than baseline
        LazyText:                    OK (0.45s)
          13.6 ns ± 1.1 ns, 11% more than baseline
      toLower
        Text:                        OK (0.29s)
          402  μs ±  22 μs, 159% more than baseline
        LazyText:                    OK (0.26s)
          159  μs ±  12 μs,       same as baseline
      toUpper
        Text:                        OK (0.38s)
          569  μs ±  46 μs, 135% more than baseline
        LazyText:                    OK (0.22s)
          253  μs ±  25 μs,       same as baseline
      uncons
        Text:                        OK (0.75s)
          15.5 ns ± 438 ps, 16% more than baseline
        LazyText:                    OK (0.37s)
          19.6 ns ± 1.6 ns, 17% more than baseline
      words
        Text:                        OK (0.39s)
          287  μs ±  12 μs,       same as baseline
        LazyText:                    OK (0.54s)
          893  μs ±  65 μs, 25% more than baseline
      zipWith
        Text:                        OK (0.40s)
          1.27 ms ±  64 μs, 13% more than baseline
        LazyText:                    OK (0.22s)
          2.64 ms ± 192 μs, 17% more than baseline
      length
        cons
          Text:                      OK (0.41s)
            8.15 μs ± 345 ns,       same as baseline
          LazyText:                  OK (0.28s)
            8.48 μs ± 791 ns,       same as baseline
        decode
          Text:                      OK (0.39s)
            15.4 μs ± 1.1 μs,       same as baseline
          LazyText:                  OK (0.41s)
            16.1 μs ± 1.2 μs,  8% more than baseline
        drop
          Text:                      OK (0.28s)
            8.50 μs ± 676 ns,       same as baseline
          LazyText:                  OK (0.28s)
            8.58 μs ± 819 ns,       same as baseline
        filter
          Text:                      OK (0.33s)
            206  μs ±  17 μs, 88% more than baseline
          LazyText:                  OK (0.23s)
            125  μs ±  12 μs,       same as baseline
        filter.filter
          Text:                      OK (0.31s)
            205  μs ±  14 μs, 88% more than baseline
          LazyText:                  OK (0.23s)
            124  μs ±  12 μs,       same as baseline
        init
          Text:                      OK (0.27s)
            8.19 μs ± 704 ns,       same as baseline
          LazyText:                  OK (0.28s)
            8.41 μs ± 819 ns,       same as baseline
        intercalate
          Text:                      OK (0.43s)
            18.0 μs ± 1.3 μs, 16% more than baseline
          LazyText:                  OK (0.30s)
            20.1 μs ± 1.8 μs,       same as baseline
        intersperse
          Text:                      OK (0.28s)
            8.15 μs ± 708 ns,       same as baseline
          LazyText:                  OK (0.28s)
            8.39 μs ± 786 ns,       same as baseline
        map
          Text:                      OK (0.28s)
            8.12 μs ± 667 ns,       same as baseline
          LazyText:                  OK (0.28s)
            8.44 μs ± 762 ns,       same as baseline
        map.map
          Text:                      OK (0.27s)
            8.13 μs ± 812 ns,       same as baseline
          LazyText:                  OK (0.43s)
            8.50 μs ± 488 ns,       same as baseline
        replicate char
          Text:                      OK (0.40s)
            20.3 ns ± 2.0 ns,       same as baseline
          LazyText:                  OK (0.39s)
            18.2 ns ± 1.6 ns, 20% more than baseline
        replicate string
          Text:                      OK (0.41s)
            22.2 ns ± 1.9 ns,       same as baseline
          LazyText:                  OK (0.38s)
            18.2 ns ± 1.7 ns,       same as baseline
        take
          Text:                      OK (0.33s)
            5.53 μs ± 406 ns,       same as baseline
          LazyText:                  OK (0.36s)
            5.75 μs ± 539 ns,       same as baseline
        tail
          Text:                      OK (0.30s)
            8.80 μs ± 657 ns,       same as baseline
          LazyText:                  OK (0.46s)
            8.87 μs ± 592 ns,       same as baseline
        toLower
          Text:                      OK (0.49s)
            182  μs ± 7.5 μs, 13% more than baseline
          LazyText:                  OK (0.28s)
            173  μs ±  16 μs,       same as baseline
        toUpper
          Text:                      OK (0.39s)
            268  μs ±  25 μs,       same as baseline
          LazyText:                  OK (0.39s)
            272  μs ±  25 μs, 11% more than baseline
        words
          Text:                      OK (0.41s)
            292  μs ±  26 μs, 13% more than baseline
          LazyText:                  OK (0.47s)
            742  μs ±  67 μs, 35% more than baseline
        zipWith
          Text:                      OK (0.28s)
            8.31 μs ± 714 ns,       same as baseline
          LazyText:                  OK (0.44s)
            8.55 μs ± 634 ns,       same as baseline
      Builder
        mappend char:                OK (0.37s)
          13.7 μs ± 768 ns,  9% more than baseline
        mappend 8 char:              OK (0.45s)
          51.3 ns ± 4.0 ns, 15% more than baseline
        mappend text:                OK (0.24s)
          60.7 μs ± 5.6 μs,       same as baseline
    ascii
      append
        Text:                        OK (1.03s)
          16.1 ms ± 374 μs, 47% more than baseline
        LazyText:                    OK (5.54s)
          62.0 μs ± 1.7 μs, 38% more than baseline
      concat
        Text:                        OK (3.86s)
          114  ms ±  11 ms, 15% more than baseline
        LazyText:                    OK (0.69s)
          20.4 ms ± 1.3 ms, 28% more than baseline
      cons
        Text:                        OK (3.72s)
          494  ms ±  25 ms, 23% more than baseline
        LazyText:                    OK (1.50s)
          12.3 μs ± 695 ns, 14% more than baseline
      decode
        Text:                        OK (0.91s)
          13.3 ms ± 721 μs, 43% more than baseline
        LazyText:                    OK (1.02s)
          46.7 ms ± 4.0 ms, 14% more than baseline
      decode'
        Text:                        OK (1.40s)
          12.3 ms ± 960 μs, 37% more than baseline
        LazyText:                    OK (1.04s)
          48.8 ms ± 4.2 ms, 19% more than baseline
      drop
        Text:                        OK (2.29s)
          2.78 ms ±  70 μs, 20% more than baseline
        LazyText:                    OK (0.74s)
          2.83 ms ± 248 μs, 18% more than baseline
      encode
        Text:                        OK (2.95s)
          8.32 ms ± 723 μs, 43% more than baseline
        LazyText:                    OK (1.00s)
          46.3 ms ± 1.5 ms, 15% more than baseline
      filter
        Text:                        OK (0.53s)
          110  ms ± 3.6 ms, 10% more than baseline
        LazyText:                    OK (0.53s)
          111  ms ± 4.0 ms, 14% more than baseline
      filter.filter
        Text:                        OK (0.53s)
          111  ms ± 3.9 ms, 13% more than baseline
        LazyText:                    OK (0.52s)
          111  ms ± 5.4 ms, 13% more than baseline
      foldl'
        Text:                        OK (1.25s)
          356  ms ± 2.9 ms, 45% more than baseline
        LazyText:                    OK (2.42s)
          745  ms ±  21 ms, 43% more than baseline
      foldr
        Text:                        OK (2.56s)
          794  ms ±  17 ms, 38% more than baseline
        LazyText:                    OK (4.51s)
          1.450 s ± 109 ms, 41% more than baseline
      head
        Text:                        OK (2.69s)
          9.82 ns ± 644 ps, 43% more than baseline
        LazyText:                    OK (2.95s)
          17.9 ns ± 460 ps, 34% more than baseline
      init
        Text:                        OK (2.71s)
          10.8 ns ± 1.1 ns, 33% more than baseline
        LazyText:                    OK (1.40s)
          65.8 μs ± 5.5 μs, 53% more than baseline
      intercalate
        Text:                        OK (40.91s)
          312  ms ± 7.9 ms, 23% more than baseline
        LazyText:                    OK (5.14s)
          148  ms ± 7.4 ms, 18% more than baseline
      intersperse
        Text:                        OK (2.88s)
          155  ms ±  15 ms, 12% more than baseline
        LazyText:                    OK (8.65s)
          2.824 s ±  32 ms, 38% more than baseline
      isInfixOf
        Text:                        OK (0.82s)
          3.83 ms ± 212 μs, 38% more than baseline
        LazyText:                    OK (0.61s)
          4.41 ms ± 421 μs, 32% more than baseline
      last
        Text:                        OK (3.74s)
          8.98 ns ± 486 ps, 44% more than baseline
        LazyText:                    OK (1.54s)
          13.4 μs ± 664 ns, 18% more than baseline
      map
        Text:                        OK (0.92s)
          242  ms ±  22 ms,       same as baseline
        LazyText:                    OK (0.93s)
          245  ms ±  11 ms, 13% more than baseline
      mapAccumL
        Text:                        OK (6.35s)
          2.050 s ± 114 ms, 28% more than baseline
        LazyText:                    OK (4.16s)
          1.307 s ±  76 ms, 14% more than baseline
      mapAccumR
        Text:                        OK (6.38s)
          2.065 s ± 170 ms, 30% more than baseline
        LazyText:                    OK (10.20s)
          1.405 s ±  43 ms, 20% more than baseline
      map.map
        Text:                        OK (1.02s)
          270  ms ±  22 ms,       same as baseline
        LazyText:                    OK (0.99s)
          264  ms ±  11 ms, 10% more than baseline
      replicate char
        Text:                        OK (1.69s)
          15.8 ms ± 905 μs, 53% more than baseline
        LazyText:                    OK (2.07s)
          520  μs ± 7.7 μs, 149% more than baseline
      replicate string
        Text:                        OK (1.84s)
          16.7 ms ± 365 μs, 64% more than baseline
        LazyText:                    OK (2.09s)
          491  μs ±  33 μs, 125% more than baseline
      reverse
        Text:                        OK (1.46s)
          30.4 ms ± 1.3 ms, 26% more than baseline
        LazyText:                    OK (1.36s)
          70.0 ms ± 4.5 ms, 26% more than baseline
      take
        Text:                        OK (0.80s)
          3.13 ms ± 182 μs, 35% more than baseline
        LazyText:                    OK (0.68s)
          3.01 ms ± 193 μs, 26% more than baseline
      tail
        Text:                        OK (6.45s)
          13.8 ns ± 150 ps, 41% more than baseline
        LazyText:                    OK (1.54s)
          12.5 μs ± 741 ns, 17% more than baseline
      toLower
        Text:                        OK (1.49s)
          429  ms ±  29 ms, 218% more than baseline
        LazyText:                    OK (0.65s)
          149  ms ± 7.8 ms,  8% more than baseline
      toUpper
        Text:                        OK (4.64s)
          616  ms ±  23 ms, 182% more than baseline
        LazyText:                    OK (0.92s)
          237  ms ±  15 ms,  8% more than baseline
      uncons
        Text:                        OK (3.03s)
          18.3 ns ± 770 ps, 33% more than baseline
        LazyText:                    OK (1.33s)
          12.1 μs ± 879 ns,  8% more than baseline
      words
        Text:                        OK (10.63s)
          1.271 s ±  78 ms, 10% more than baseline
        LazyText:                    OK (19.63s)
          2.550 s ± 170 ms, 25% more than baseline
      zipWith
        Text:                        OK (4.41s)
          1.420 s ±  76 ms, 37% more than baseline
        LazyText:                    OK (9.80s)
          3.187 s ± 249 ms, 45% more than baseline
      length
        cons
          Text:                      OK (0.75s)
            8.34 ms ± 337 μs, 19% more than baseline
          LazyText:                  OK (0.74s)
            8.35 ms ± 362 μs, 18% more than baseline
        decode
          Text:                      OK (1.24s)
            23.0 ms ± 2.0 ms, 41% more than baseline
          LazyText:                  OK (0.68s)
            19.6 ms ± 1.3 ms, 18% more than baseline
        drop
          Text:                      OK (0.74s)
            8.58 ms ± 371 μs, 22% more than baseline
          LazyText:                  OK (1.13s)
            8.87 ms ± 671 μs, 21% more than baseline
        filter
          Text:                      OK (0.74s)
            181  ms ± 7.3 ms, 92% more than baseline
          LazyText:                  OK (0.43s)
            111  ms ± 4.2 ms, 12% more than baseline
        filter.filter
          Text:                      OK (0.74s)
            183  ms ± 3.1 ms, 90% more than baseline
          LazyText:                  OK (0.52s)
            111  ms ± 3.7 ms, 12% more than baseline
        init
          Text:                      OK (0.72s)
            8.18 ms ± 381 μs, 20% more than baseline
          LazyText:                  OK (0.74s)
            8.70 ms ± 516 μs, 17% more than baseline
        intercalate
          Text:                      OK (0.63s)
            16.5 ms ± 917 μs, 15% more than baseline
          LazyText:                  OK (0.40s)
            16.7 ms ± 1.5 ms, 15% more than baseline
        intersperse
          Text:                      OK (0.50s)
            8.06 ms ± 780 μs, 16% more than baseline
          LazyText:                  OK (0.74s)
            8.59 ms ± 761 μs, 19% more than baseline
        map
          Text:                      OK (0.73s)
            8.11 ms ± 376 μs, 16% more than baseline
          LazyText:                  OK (0.74s)
            8.60 ms ± 514 μs, 18% more than baseline
        map.map
          Text:                      OK (1.09s)
            8.21 ms ± 595 μs, 17% more than baseline
          LazyText:                  OK (0.74s)
            8.29 ms ± 598 μs, 14% more than baseline
        replicate char
          Text:                      OK (2.37s)
            22.8 ns ± 1.8 ns, 21% more than baseline
          LazyText:                  OK (2.35s)
            20.3 ns ± 1.8 ns, 30% more than baseline
        replicate string
          Text:                      OK (2.39s)
            24.7 ns ± 1.4 ns, 15% more than baseline
          LazyText:                  OK (2.35s)
            20.6 ns ± 1.6 ns, 21% more than baseline
        take
          Text:                      OK (0.91s)
            5.44 ms ± 238 μs, 19% more than baseline
          LazyText:                  OK (1.35s)
            5.36 ms ± 157 μs, 14% more than baseline
        tail
          Text:                      OK (0.74s)
            8.50 ms ± 675 μs, 15% more than baseline
          LazyText:                  OK (0.51s)
            8.44 ms ± 746 μs, 16% more than baseline
        toLower
          Text:                      OK (0.72s)
            177  ms ± 4.9 ms, 24% more than baseline
          LazyText:                  OK (0.65s)
            151  ms ± 3.9 ms, 10% more than baseline
        toUpper
          Text:                      OK (0.95s)
            251  ms ±  25 ms, 11% more than baseline
          LazyText:                  OK (0.91s)
            240  ms ± 3.3 ms, 11% more than baseline
        words
          Text:                      OK (1.05s)
            287  ms ± 4.7 ms, 22% more than baseline
          LazyText:                  OK (2.46s)
            758  ms ±  11 ms, 47% more than baseline
        zipWith
          Text:                      OK (1.10s)
            8.24 ms ± 259 μs, 20% more than baseline
          LazyText:                  OK (1.11s)
            8.40 ms ± 248 μs, 14% more than baseline
      Builder
        mappend char:                OK (1.56s)
          14.6 μs ± 797 ns, 15% more than baseline
        mappend 8 char:              OK (2.75s)
          63.0 ns ± 4.0 ns, 32% more than baseline
        mappend text:                OK (1.41s)
          66.7 μs ± 5.3 μs, 15% more than baseline
    english
      append
        Text:                        OK (0.53s)
          1.22 ms ±  95 μs, 52% more than baseline
        LazyText:                    OK (0.41s)
          4.07 μs ± 331 ns, 24% more than baseline
      concat
        Text:                        OK (0.30s)
          2.85 ms ± 271 μs, 46% more than baseline
        LazyText:                    OK (1.58s)
          650  μs ± 8.9 μs, 45% more than baseline
      cons
        Text:                        OK (0.62s)
          37.6 ms ± 2.1 ms, 32% more than baseline
        LazyText:                    OK (0.66s)
          271  ns ±  17 ns, 11% more than baseline
      decode
        Text:                        OK (0.52s)
          573  μs ±  54 μs, 68% more than baseline
        LazyText:                    OK (0.38s)
          825  μs ±  62 μs, 47% more than baseline
      decode'
        Text:                        OK (1.38s)
          517  μs ±  21 μs, 48% more than baseline
        LazyText:                    OK (1.06s)
          827  μs ±  61 μs, 45% more than baseline
      drop
        Text:                        OK (0.94s)
          172  μs ±  14 μs, 14% more than baseline
        LazyText:                    OK (0.38s)
          176  μs ±  16 μs, 11% more than baseline
      encode
        Text:                        OK (0.80s)
          510  μs ±  41 μs, 63% more than baseline
        LazyText:                    OK (0.38s)
          803  μs ±  61 μs, 37% more than baseline
      filter
        Text:                        OK (0.33s)
          7.39 ms ± 394 μs, 13% more than baseline
        LazyText:                    OK (0.59s)
          7.38 ms ± 205 μs, 13% more than baseline
      filter.filter
        Text:                        OK (0.19s)
          7.39 ms ± 729 μs, 13% more than baseline
        LazyText:                    OK (0.33s)
          7.37 ms ± 434 μs, 14% more than baseline
      foldl'
        Text:                        OK (0.23s)
          23.9 ms ± 1.4 ms, 39% more than baseline
        LazyText:                    OK (0.20s)
          51.5 ms ± 4.0 ms, 41% more than baseline
      foldr
        Text:                        OK (0.92s)
          57.0 ms ± 4.2 ms, 35% more than baseline
        LazyText:                    OK (0.75s)
          101  ms ± 4.8 ms, 38% more than baseline
      head
        Text:                        OK (0.81s)
          9.73 ns ± 520 ps, 34% more than baseline
        LazyText:                    OK (0.82s)
          20.6 ns ± 738 ps, 47% more than baseline
      init
        Text:                        OK (0.89s)
          12.3 ns ± 1.0 ns, 44% more than baseline
        LazyText:                    OK (1.45s)
          4.24 μs ± 154 ns, 42% more than baseline
      intercalate
        Text:                        OK (0.33s)
          7.46 ms ± 378 μs, 39% more than baseline
        LazyText:                    OK (0.47s)
          2.61 ms ± 205 μs, 38% more than baseline
      intersperse
        Text:                        OK (0.82s)
          10.6 ms ± 590 μs, 14% more than baseline
        LazyText:                    OK (0.62s)
          195  ms ±  12 ms, 41% more than baseline
      isInfixOf
        Text:                        OK (0.53s)
          71.4 μs ± 6.3 μs, 17% more than baseline
        LazyText:                    OK (0.70s)
          117  μs ± 8.0 μs, 24% more than baseline
      last
        Text:                        OK (0.62s)
          9.18 ns ± 798 ps, 29% more than baseline
        LazyText:                    OK (0.55s)
          364  ns ±  30 ns, 13% more than baseline
      map
        Text:                        OK (0.33s)
          16.5 ms ± 1.3 ms,       same as baseline
        LazyText:                    OK (0.17s)
          15.5 ms ± 1.5 ms, 12% more than baseline
      mapAccumL
        Text:                        OK (0.56s)
          173  ms ± 3.8 ms, 35% more than baseline
        LazyText:                    OK (0.33s)
          94.3 ms ± 5.0 ms, 22% more than baseline
      mapAccumR
        Text:                        OK (0.57s)
          177  ms ±  15 ms, 36% more than baseline
        LazyText:                    OK (0.34s)
          98.2 ms ± 4.2 ms, 23% more than baseline
      map.map
        Text:                        OK (0.19s)
          18.4 ms ± 1.5 ms,       same as baseline
        LazyText:                    OK (0.34s)
          16.8 ms ± 825 μs,  7% more than baseline
      replicate char
        Text:                        OK (0.75s)
          1.01 ms ±  50 μs, 38% more than baseline
        LazyText:                    OK (0.61s)
          43.9 μs ± 1.8 μs, 167% more than baseline
      replicate string
        Text:                        OK (1.27s)
          958  μs ±  38 μs, 39% more than baseline
        LazyText:                    OK (0.53s)
          34.1 μs ± 1.8 μs, 104% more than baseline
      reverse
        Text:                        OK (1.27s)
          2.05 ms ±  66 μs, 31% more than baseline
        LazyText:                    OK (0.41s)
          2.09 ms ± 146 μs, 37% more than baseline
      take
        Text:                        OK (0.93s)
          167  μs ± 4.4 μs, 14% more than baseline
        LazyText:                    OK (0.39s)
          183  μs ±  12 μs, 20% more than baseline
      tail
        Text:                        OK (1.00s)
          14.0 ns ± 644 ps, 41% more than baseline
        LazyText:                    OK (0.51s)
          258  ns ±  22 ns,       same as baseline
      toLower
        Text:                        OK (0.25s)
          27.5 ms ± 1.5 ms, 194% more than baseline
        LazyText:                    OK (0.39s)
          9.44 ms ± 459 μs,  9% more than baseline
      toUpper
        Text:                        OK (0.74s)
          44.5 ms ± 841 μs, 191% more than baseline
        LazyText:                    OK (0.17s)
          15.3 ms ± 1.5 ms, 11% more than baseline
      uncons
        Text:                        OK (0.62s)
          20.8 ns ± 1.3 ns, 53% more than baseline
        LazyText:                    OK (0.50s)
          259  ns ±  23 ns,       same as baseline
      words
        Text:                        OK (2.20s)
          69.7 ms ± 1.2 ms, 17% more than baseline
        LazyText:                    OK (0.55s)
          150  ms ± 6.9 ms,  8% more than baseline
      zipWith
        Text:                        OK (0.36s)
          91.3 ms ± 4.2 ms, 27% more than baseline
        LazyText:                    OK (0.65s)
          204  ms ± 4.3 ms, 45% more than baseline
      length
        cons
          Text:                      OK (0.46s)
            545  μs ±  51 μs, 21% more than baseline
          LazyText:                  OK (0.19s)
            534  μs ±  52 μs, 16% more than baseline
        decode
          Text:                      OK (1.64s)
            1.41 ms ± 123 μs, 66% more than baseline
          LazyText:                  OK (1.60s)
            1.39 ms ±  55 μs, 43% more than baseline
        drop
          Text:                      OK (0.78s)
            557  μs ±  53 μs, 21% more than baseline
          LazyText:                  OK (0.29s)
            513  μs ±  51 μs,       same as baseline
        filter
          Text:                      OK (0.23s)
            12.0 ms ± 939 μs, 90% more than baseline
          LazyText:                  OK (0.33s)
            7.37 ms ± 404 μs, 14% more than baseline
        filter.filter
          Text:                      OK (0.27s)
            12.2 ms ± 977 μs, 94% more than baseline
          LazyText:                  OK (0.33s)
            7.34 ms ± 390 μs, 13% more than baseline
        init
          Text:                      OK (18.16s)
            541  μs ± 7.2 μs, 21% more than baseline
          LazyText:                  OK (0.72s)
            521  μs ±  41 μs, 10% more than baseline
        intercalate
          Text:                      OK (0.26s)
            993  μs ±  94 μs, 12% more than baseline
          LazyText:                  OK (0.28s)
            1.11 ms ±  95 μs, 16% more than baseline
        intersperse
          Text:                      OK (0.29s)
            510  μs ±  48 μs, 13% more than baseline
          LazyText:                  OK (0.19s)
            545  μs ±  43 μs, 18% more than baseline
        map
          Text:                      OK (0.36s)
            519  μs ±  33 μs, 16% more than baseline
          LazyText:                  OK (0.30s)
            613  μs ±  58 μs, 30% more than baseline
        map.map
          Text:                      OK (0.61s)
            548  μs ±  28 μs, 24% more than baseline
          LazyText:                  OK (1.29s)
            523  μs ± 8.9 μs, 10% more than baseline
        replicate char
          Text:                      OK (0.60s)
            22.2 ns ± 2.0 ns, 18% more than baseline
          LazyText:                  OK (0.57s)
            19.3 ns ± 1.9 ns, 23% more than baseline
        replicate string
          Text:                      OK (0.61s)
            24.4 ns ± 1.6 ns, 16% more than baseline
          LazyText:                  OK (0.75s)
            19.9 ns ± 914 ps, 20% more than baseline
        take
          Text:                      OK (0.33s)
            319  μs ±  22 μs,  7% more than baseline
          LazyText:                  OK (0.33s)
            339  μs ±  33 μs, 11% more than baseline
        tail
          Text:                      OK (0.29s)
            543  μs ±  49 μs, 14% more than baseline
          LazyText:                  OK (0.38s)
            504  μs ±  36 μs,  7% more than baseline
        toLower
          Text:                      OK (0.24s)
            11.3 ms ± 707 μs, 16% more than baseline
          LazyText:                  OK (0.22s)
            9.76 ms ± 685 μs,       same as baseline
        toUpper
          Text:                      OK (0.33s)
            16.8 ms ± 831 μs,       same as baseline
          LazyText:                  OK (0.31s)
            15.6 ms ± 715 μs,  8% more than baseline
        words
          Text:                      OK (0.33s)
            17.2 ms ± 766 μs, 13% more than baseline
          LazyText:                  OK (0.15s)
            44.5 ms ± 4.1 ms, 34% more than baseline
        zipWith
          Text:                      OK (0.42s)
            498  μs ±  27 μs, 11% more than baseline
          LazyText:                  OK (0.43s)
            527  μs ±  41 μs, 18% more than baseline
      Builder
        mappend char:                OK (0.49s)
          14.3 μs ± 720 ns, 15% more than baseline
        mappend 8 char:              OK (0.64s)
          56.2 ns ± 3.5 ns, 21% more than baseline
        mappend text:                OK (0.35s)
          66.0 μs ± 6.2 μs, 15% more than baseline
    russian
      append
        Text:                        OK (0.39s)
          2.73 μs ± 193 ns,       same as baseline
        LazyText:                    OK (0.66s)
          21.9 ns ± 1.1 ns, 21% more than baseline
      concat
        Text:                        OK (0.38s)
          2.93 μs ± 259 ns, 21% more than baseline
        LazyText:                    OK (0.56s)
          616  ns ±  52 ns, 12% more than baseline
      cons
        Text:                        OK (0.25s)
          62.4 μs ± 5.9 μs, 18% more than baseline
        LazyText:                    OK (0.42s)
          18.1 ns ± 1.6 ns, 17% more than baseline
      decode
        Text:                        OK (0.44s)
          1.87 μs ± 102 ns,  9% more than baseline
        LazyText:                    OK (0.33s)
          2.00 μs ± 182 ns,       same as baseline
      decode'
        Text:                        OK (0.45s)
          1.89 μs ±  86 ns, 10% more than baseline
        LazyText:                    OK (0.76s)
          2.11 μs ±  44 ns, 12% more than baseline
      drop
        Text:                        OK (0.35s)
          496  ns ±  49 ns,       same as baseline
        LazyText:                    OK (0.34s)
          500  ns ±  46 ns,       same as baseline
      encode
        Text:                        OK (0.51s)
          1.16 μs ±  43 ns, 24% more than baseline
        LazyText:                    OK (0.35s)
          1.18 μs ±  96 ns, 17% more than baseline
      filter
        Text:                        OK (0.36s)
          25.0 μs ± 1.5 μs,  8% more than baseline
        LazyText:                    OK (0.38s)
          27.0 μs ± 1.8 μs, 21% more than baseline
      filter.filter
        Text:                        OK (0.60s)
          25.0 μs ± 1.2 μs,  6% more than baseline
        LazyText:                    OK (0.41s)
          27.1 μs ± 2.1 μs, 19% more than baseline
      foldl'
        Text:                        OK (3.23s)
          46.3 μs ± 2.9 μs, 48% more than baseline
        LazyText:                    OK (0.97s)
          104  μs ± 5.6 μs, 76% more than baseline
      foldr
        Text:                        OK (3.29s)
          90.4 μs ± 8.6 μs, 31% more than baseline
        LazyText:                    OK (0.42s)
          138  μs ± 6.1 μs, 26% more than baseline
      head
        Text:                        OK (0.67s)
          11.0 ns ± 1.0 ns, 44% more than baseline
        LazyText:                    OK (3.24s)
          20.9 ns ± 1.8 ns, 54% more than baseline
      init
        Text:                        OK (0.50s)
          12.1 ns ± 762 ps, 48% more than baseline
        LazyText:                    OK (0.84s)
          15.6 ns ± 376 ps, 26% more than baseline
      intercalate
        Text:                        OK (0.47s)
          8.48 μs ± 442 ns, 40% more than baseline
        LazyText:                    OK (1.09s)
          3.34 μs ±  94 ns, 47% more than baseline
      intersperse
        Text:                        OK (0.38s)
          26.0 μs ± 2.0 μs, 15% more than baseline
        LazyText:                    OK (0.42s)
          288  μs ±  13 μs, 37% more than baseline
      isInfixOf
        Text:                        OK (0.66s)
          3.38 μs ± 264 ns, 17% more than baseline
        LazyText:                    OK (0.38s)
          5.78 μs ± 406 ns,       same as baseline
      last
        Text:                        OK (37.77s)
          8.46 ns ± 300 ps, 37% more than baseline
        LazyText:                    OK (0.69s)
          9.88 ns ± 772 ps, 25% more than baseline
      map
        Text:                        OK (0.30s)
          39.9 μs ± 2.9 μs, 10% more than baseline
        LazyText:                    OK (0.30s)
          40.4 μs ± 3.9 μs,       same as baseline
      mapAccumL
        Text:                        OK (0.40s)
          60.6 μs ± 3.6 μs, 16% more than baseline
        LazyText:                    OK (0.37s)
          56.5 μs ± 3.1 μs,       same as baseline
      mapAccumR
        Text:                        OK (0.69s)
          61.6 μs ± 2.7 μs, 21% more than baseline
        LazyText:                    OK (0.42s)
          59.7 μs ± 5.0 μs, 14% more than baseline
      map.map
        Text:                        OK (0.32s)
          43.2 μs ± 2.8 μs,       same as baseline
        LazyText:                    OK (0.35s)
          44.6 μs ± 3.2 μs,  9% more than baseline
      replicate char
        Text:                        OK (0.75s)
          3.91 μs ± 248 ns, 73% more than baseline
        LazyText:                    OK (0.45s)
          3.80 μs ± 371 ns, 49% more than baseline
      replicate string
        Text:                        OK (0.67s)
          3.43 μs ± 203 ns, 42% more than baseline
        LazyText:                    OK (0.73s)
          3.97 μs ± 127 ns, 60% more than baseline
      reverse
        Text:                        OK (0.43s)
          6.77 μs ± 369 ns, 35% less than baseline
        LazyText:                    OK (0.42s)
          6.87 μs ± 622 ns, 35% less than baseline
      take
        Text:                        OK (0.51s)
          510  ns ±  31 ns,  8% more than baseline
        LazyText:                    OK (0.37s)
          514  ns ±  43 ns,       same as baseline
      tail
        Text:                        OK (1.23s)
          13.6 ns ± 312 ps, 49% more than baseline
        LazyText:                    OK (0.53s)
          13.8 ns ± 1.3 ns, 33% more than baseline
      toLower
        Text:                        OK (0.37s)
          51.6 μs ± 4.0 μs, 26% more than baseline
        LazyText:                    OK (0.34s)
          43.4 μs ± 3.1 μs,  9% more than baseline
      toUpper
        Text:                        OK (0.39s)
          120  μs ± 7.2 μs, 26% more than baseline
        LazyText:                    OK (0.61s)
          108  μs ± 3.3 μs, 19% more than baseline
      uncons
        Text:                        OK (0.63s)
          20.6 ns ± 898 ps, 62% more than baseline
        LazyText:                    OK (0.69s)
          23.4 ns ± 916 ps, 41% more than baseline
      words
        Text:                        OK (0.60s)
          54.1 μs ± 3.2 μs, 44% more than baseline
        LazyText:                    OK (0.32s)
          93.5 μs ± 7.4 μs, 13% more than baseline
      zipWith
        Text:                        OK (0.48s)
          162  μs ±  14 μs, 22% more than baseline
        LazyText:                    OK (0.29s)
          344  μs ±  31 μs, 57% more than baseline
      length
        cons
          Text:                      OK (0.42s)
            1.45 μs ± 118 ns,       same as baseline
          LazyText:                  OK (0.41s)
            1.45 μs ± 118 ns,       same as baseline
        decode
          Text:                      OK (0.44s)
            3.44 μs ± 335 ns, 12% more than baseline
          LazyText:                  OK (0.44s)
            3.59 μs ± 273 ns, 18% more than baseline
        drop
          Text:                      OK (0.41s)
            1.53 μs ± 100 ns,  9% more than baseline
          LazyText:                  OK (0.42s)
            1.55 μs ±  87 ns,  9% more than baseline
        filter
          Text:                      OK (0.34s)
            20.7 μs ± 1.3 μs, 10% more than baseline
          LazyText:                  OK (0.27s)
            26.9 μs ± 2.7 μs, 19% more than baseline
        filter.filter
          Text:                      OK (0.36s)
            22.0 μs ± 1.5 μs, 17% more than baseline
          LazyText:                  OK (0.39s)
            27.1 μs ± 2.1 μs, 18% more than baseline
        init
          Text:                      OK (0.41s)
            1.44 μs ± 106 ns,       same as baseline
          LazyText:                  OK (0.41s)
            1.47 μs ± 109 ns,       same as baseline
        intercalate
          Text:                      OK (0.35s)
            2.18 μs ± 197 ns,       same as baseline
          LazyText:                  OK (0.36s)
            2.31 μs ± 203 ns, 10% more than baseline
        intersperse
          Text:                      OK (0.42s)
            1.47 μs ±  86 ns,       same as baseline
          LazyText:                  OK (0.41s)
            1.45 μs ±  99 ns,  7% more than baseline
        map
          Text:                      OK (0.42s)
            1.48 μs ± 131 ns, 12% more than baseline
          LazyText:                  OK (0.42s)
            1.45 μs ± 108 ns,  8% more than baseline
        map.map
          Text:                      OK (0.41s)
            1.42 μs ± 118 ns, 10% more than baseline
          LazyText:                  OK (0.42s)
            1.45 μs ±  91 ns,  9% more than baseline
        replicate char
          Text:                      OK (0.70s)
            23.4 ns ± 2.3 ns, 23% more than baseline
          LazyText:                  OK (0.47s)
            20.2 ns ± 2.0 ns, 32% more than baseline
        replicate string
          Text:                      OK (0.73s)
            25.0 ns ± 2.1 ns, 21% more than baseline
          LazyText:                  OK (0.47s)
            20.8 ns ± 1.5 ns, 25% more than baseline
        take
          Text:                      OK (0.51s)
            1.00 μs ±  46 ns,       same as baseline
          LazyText:                  OK (0.37s)
            1.01 μs ±  94 ns,       same as baseline
        tail
          Text:                      OK (0.43s)
            1.54 μs ± 124 ns,  9% more than baseline
          LazyText:                  OK (0.43s)
            1.52 μs ± 101 ns,       same as baseline
        toLower
          Text:                      OK (0.35s)
            45.9 μs ± 4.1 μs, 11% more than baseline
          LazyText:                  OK (0.35s)
            46.1 μs ± 3.8 μs,       same as baseline
        toUpper
          Text:                      OK (0.36s)
            103  μs ± 9.1 μs,       same as baseline
          LazyText:                  OK (0.37s)
            106  μs ± 7.1 μs, 13% more than baseline
        words
          Text:                      OK (0.39s)
            54.0 μs ± 4.1 μs, 47% more than baseline
          LazyText:                  OK (0.82s)
            79.5 μs ± 2.5 μs, 17% more than baseline
        zipWith
          Text:                      OK (0.43s)
            1.46 μs ±  98 ns,       same as baseline
          LazyText:                  OK (0.42s)
            1.45 μs ± 128 ns, 11% more than baseline
      Builder
        mappend char:                OK (0.44s)
          15.0 μs ± 930 ns, 21% more than baseline
        mappend 8 char:              OK (0.56s)
          61.5 ns ± 2.8 ns, 35% more than baseline
        mappend text:                OK (0.30s)
          69.8 μs ± 6.9 μs, 22% more than baseline
    japanese
      append
        Text:                        OK (0.68s)
          3.44 μs ± 264 ns, 29% more than baseline
        LazyText:                    OK (0.56s)
          25.7 ns ± 1.3 ns, 47% more than baseline
      concat
        Text:                        OK (0.33s)
          7.86 μs ± 768 ns, 33% more than baseline
        LazyText:                    OK (0.41s)
          2.86 μs ± 184 ns, 52% more than baseline
      cons
        Text:                        OK (0.60s)
          47.8 μs ± 2.9 μs, 33% more than baseline
        LazyText:                    OK (0.50s)
          21.4 ns ± 1.5 ns, 36% more than baseline
      decode
        Text:                        OK (0.86s)
          2.26 μs ±  67 ns, 24% more than baseline
        LazyText:                    OK (0.38s)
          2.33 μs ± 174 ns, 21% more than baseline
      decode'
        Text:                        OK (0.86s)
          2.37 μs ±  48 ns, 27% more than baseline
        LazyText:                    OK (0.39s)
          2.51 μs ± 246 ns, 28% more than baseline
      drop
        Text:                        OK (0.56s)
          544  ns ±  26 ns,       same as baseline
        LazyText:                    OK (0.55s)
          544  ns ±  26 ns, 11% more than baseline
      encode
        Text:                        OK (0.45s)
          1.55 μs ± 144 ns, 47% more than baseline
        LazyText:                    OK (0.41s)
          1.50 μs ±  91 ns, 38% more than baseline
      filter
        Text:                        OK (0.31s)
          14.9 μs ± 1.4 μs, 10% more than baseline
        LazyText:                    OK (0.45s)
          14.8 μs ± 827 ns, 12% more than baseline
      filter.filter
        Text:                        OK (0.31s)
          14.9 μs ± 1.4 μs, 13% more than baseline
        LazyText:                    OK (0.45s)
          14.9 μs ± 705 ns, 11% more than baseline
      foldl'
        Text:                        OK (1.16s)
          29.3 μs ± 1.4 μs, 60% more than baseline
        LazyText:                    OK (0.68s)
          60.9 μs ± 2.2 μs, 63% more than baseline
      foldr
        Text:                        OK (0.44s)
          64.9 μs ± 6.4 μs, 43% more than baseline
        LazyText:                    OK (1.15s)
          120  μs ± 2.4 μs, 41% more than baseline
      head
        Text:                        OK (0.53s)
          10.6 ns ± 742 ps, 19% more than baseline
        LazyText:                    OK (0.67s)
          19.9 ns ± 862 ps, 40% more than baseline
      init
        Text:                        OK (1.15s)
          11.8 ns ± 1.1 ns, 42% more than baseline
        LazyText:                    OK (0.89s)
          16.2 ns ± 906 ps, 31% more than baseline
      intercalate
        Text:                        OK (0.57s)
          22.6 μs ± 1.1 μs, 32% more than baseline
        LazyText:                    OK (0.86s)
          9.81 μs ± 601 ns, 54% more than baseline
      intersperse
        Text:                        OK (0.46s)
          16.2 μs ± 1.1 μs, 14% more than baseline
        LazyText:                    OK (0.59s)
          211  μs ± 6.6 μs, 48% more than baseline
      isInfixOf
        Text:                        OK (0.49s)
          4.01 μs ± 248 ns, 25% more than baseline
        LazyText:                    OK (0.44s)
          6.55 μs ± 537 ns,       same as baseline
      last
        Text:                        OK (0.65s)
          8.87 ns ± 416 ps, 37% more than baseline
        LazyText:                    OK (0.72s)
          10.9 ns ± 602 ps, 37% more than baseline
      map
        Text:                        OK (0.42s)
          28.2 μs ± 1.4 μs, 11% more than baseline
        LazyText:                    OK (0.68s)
          28.8 μs ± 1.2 μs, 15% more than baseline
      mapAccumL
        Text:                        OK (0.45s)
          31.4 μs ± 2.6 μs, 13% more than baseline
        LazyText:                    OK (0.32s)
          32.4 μs ± 2.9 μs, 16% more than baseline
      mapAccumR
        Text:                        OK (0.50s)
          36.2 μs ± 1.9 μs, 16% more than baseline
        LazyText:                    OK (0.49s)
          35.9 μs ± 2.5 μs, 13% more than baseline
      map.map
        Text:                        OK (0.31s)
          30.0 μs ± 2.7 μs,       same as baseline
        LazyText:                    OK (0.47s)
          32.0 μs ± 2.3 μs, 17% more than baseline
      replicate char
        Text:                        OK (0.52s)
          4.19 μs ± 246 ns, 69% more than baseline
        LazyText:                    OK (0.39s)
          5.09 μs ± 400 ns, 71% more than baseline
      replicate string
        Text:                        OK (0.81s)
          4.21 μs ± 357 ns, 76% more than baseline
        LazyText:                    OK (0.91s)
          4.87 μs ± 215 ns, 57% more than baseline
      reverse
        Text:                        OK (0.67s)
          6.31 μs ± 574 ns, 16% more than baseline
        LazyText:                    OK (0.41s)
          6.31 μs ± 437 ns, 16% more than baseline
      take
        Text:                        OK (0.43s)
          545  ns ±  47 ns, 12% more than baseline
        LazyText:                    OK (0.43s)
          545  ns ±  47 ns,       same as baseline
      tail
        Text:                        OK (0.49s)
          15.0 ns ± 1.4 ns, 55% more than baseline
        LazyText:                    OK (0.63s)
          15.4 ns ± 1.3 ns, 39% more than baseline
      toLower
        Text:                        OK (0.33s)
          31.7 μs ± 2.9 μs, 13% more than baseline
        LazyText:                    OK (0.74s)
          31.5 μs ± 1.4 μs, 13% more than baseline
      toUpper
        Text:                        OK (0.33s)
          31.5 μs ± 2.9 μs, 13% more than baseline
        LazyText:                    OK (0.46s)
          30.6 μs ± 1.5 μs,  9% more than baseline
      uncons
        Text:                        OK (0.56s)
          23.7 ns ± 2.3 ns, 74% more than baseline
        LazyText:                    OK (0.59s)
          27.8 ns ± 2.2 ns, 64% more than baseline
      words
        Text:                        OK (0.54s)
          85.6 μs ± 3.2 μs, 65% more than baseline
        LazyText:                    OK (0.37s)
          42.6 μs ± 3.5 μs,       same as baseline
      zipWith
        Text:                        OK (0.42s)
          121  μs ± 9.1 μs, 41% more than baseline
        LazyText:                    OK (0.43s)
          253  μs ±  16 μs, 65% more than baseline
      length
        cons
          Text:                      OK (0.49s)
            1.57 μs ± 101 ns,  8% more than baseline
          LazyText:                  OK (0.48s)
            1.56 μs ± 122 ns,  9% more than baseline
        decode
          Text:                      OK (0.52s)
            3.97 μs ± 172 ns, 20% more than baseline
          LazyText:                  OK (0.37s)
            4.19 μs ± 395 ns, 21% more than baseline
        drop
          Text:                      OK (0.50s)
            1.65 μs ± 104 ns,  9% more than baseline
          LazyText:                  OK (0.49s)
            1.65 μs ±  99 ns,  8% more than baseline
        filter
          Text:                      OK (0.43s)
            11.9 μs ± 709 ns, 14% more than baseline
          LazyText:                  OK (0.47s)
            14.8 μs ± 775 ns, 13% more than baseline
        filter.filter
          Text:                      OK (0.42s)
            11.7 μs ± 889 ns, 12% more than baseline
          LazyText:                  OK (0.48s)
            14.8 μs ± 830 ns, 12% more than baseline
        init
          Text:                      OK (0.48s)
            1.56 μs ± 109 ns,  8% more than baseline
          LazyText:                  OK (0.48s)
            1.58 μs ± 114 ns,  8% more than baseline
        intercalate
          Text:                      OK (0.47s)
            3.20 μs ± 254 ns,       same as baseline
          LazyText:                  OK (0.49s)
            3.33 μs ± 229 ns,  7% more than baseline
        intersperse
          Text:                      OK (0.49s)
            1.56 μs ± 129 ns,       same as baseline
          LazyText:                  OK (0.48s)
            1.56 μs ±  97 ns,       same as baseline
        map
          Text:                      OK (0.48s)
            1.55 μs ±  83 ns,  7% more than baseline
          LazyText:                  OK (0.49s)
            1.56 μs ± 106 ns,  7% more than baseline
        map.map
          Text:                      OK (0.48s)
            1.56 μs ±  96 ns,  9% more than baseline
          LazyText:                  OK (0.49s)
            1.58 μs ±  94 ns,       same as baseline
        replicate char
          Text:                      OK (0.58s)
            24.3 ns ± 1.4 ns, 23% more than baseline
          LazyText:                  OK (0.56s)
            21.6 ns ± 1.3 ns, 42% more than baseline
        replicate string
          Text:                      OK (0.59s)
            25.8 ns ± 2.0 ns, 23% more than baseline
          LazyText:                  OK (0.57s)
            22.5 ns ± 1.8 ns, 33% more than baseline
        take
          Text:                      OK (0.43s)
            1.06 μs ± 106 ns,       same as baseline
          LazyText:                  OK (0.43s)
            1.07 μs ±  87 ns,       same as baseline
        tail
          Text:                      OK (0.51s)
            1.61 μs ± 140 ns,       same as baseline
          LazyText:                  OK (0.51s)
            1.64 μs ± 108 ns,  9% more than baseline
        toLower
          Text:                      OK (0.33s)
            31.9 μs ± 2.7 μs,       same as baseline
          LazyText:                  OK (0.34s)
            32.1 μs ± 3.0 μs,       same as baseline
        toUpper
          Text:                      OK (0.34s)
            31.6 μs ± 2.7 μs,       same as baseline
          LazyText:                  OK (0.34s)
            31.9 μs ± 2.7 μs,       same as baseline
        words
          Text:                      OK (0.37s)
            85.8 μs ± 5.5 μs, 59% more than baseline
          LazyText:                  OK (0.37s)
            39.5 μs ± 2.8 μs,       same as baseline
        zipWith
          Text:                      OK (0.49s)
            1.57 μs ± 139 ns, 10% more than baseline
          LazyText:                  OK (0.50s)
            1.58 μs ± 111 ns, 10% more than baseline
      Builder
        mappend char:                OK (0.50s)
          15.6 μs ± 753 ns, 22% more than baseline
        mappend 8 char:              OK (0.69s)
          74.7 ns ± 6.5 ns, 58% more than baseline
        mappend text:                OK (0.53s)
          73.4 μs ± 5.0 μs, 27% more than baseline
  ReadNumbers
    DecimalText:                     OK (0.71s)
      495  μs ±  37 μs, 39% more than baseline
    HexadecimalText:                 OK (0.43s)
      1.06 ms ±  56 μs, 30% more than baseline
    DoubleText:                      OK (0.27s)
      2.60 ms ± 219 μs, 34% more than baseline
    RationalText:                    OK (0.39s)
      4.43 ms ± 340 μs, 26% more than baseline
    DecimalLazyText:                 OK (17.40s)
      2.01 ms ± 158 μs, 61% more than baseline
    HexadecimalLazyText:             OK (0.52s)
      3.23 ms ± 179 μs, 29% more than baseline
    DoubleLazyText:                  OK (0.28s)
      6.17 ms ± 457 μs, 52% more than baseline
    RationalLazyText:                OK (0.35s)
      8.13 ms ± 656 μs, 40% more than baseline
  Replace
    Text:                            OK (0.91s)
      2.74 ms ±  87 μs, 32% more than baseline
    LazyText:                        OK (0.35s)
      3.62 ms ± 336 μs, 25% more than baseline
  FileIndices
    Text:                            OK (0.45s)
      1.10 ms ± 103 μs, 52% more than baseline
    LazyText:                        OK (0.27s)
      2.52 ms ± 245 μs, 25% more than baseline
  Stream
    stream
      Text:                          OK (0.30s)
        35.4 ms ± 2.2 ms, 32% more than baseline
      LazyText:                      OK (0.21s)
        54.2 ms ± 5.0 ms, 66% more than baseline
    streamUtf8
      Text:                          OK (30.34s)
        117  ms ± 303 μs, 71% more than baseline
      LazyText:                      OK (0.51s)
        155  ms ± 8.4 ms, 49% more than baseline
    streamUtf16LE
      Text:                          OK (1.51s)
        45.7 ms ± 2.1 ms, 66% more than baseline
      LazyText:                      OK (0.29s)
        79.2 ms ± 6.8 ms, 54% more than baseline
    streamUtf16BE
      Text:                          OK (0.18s)
        43.9 ms ± 3.1 ms, 51% more than baseline
      LazyText:                      OK (0.28s)
        81.3 ms ± 6.9 ms, 59% more than baseline
    streamUtf32LE
      Text:                          OK (0.64s)
        36.5 ms ± 3.4 ms, 52% more than baseline
      LazyText:                      OK (0.18s)
        46.0 ms ± 3.0 ms, 52% more than baseline
    streamUtf32BE
      Text:                          OK (0.32s)
        37.1 ms ± 1.6 ms, 60% more than baseline
      LazyText:                      OK (0.41s)
        48.4 ms ± 2.1 ms, 58% more than baseline
    restreamUtf16LE:                 OK (2.20s)
      65.1 ms ± 966 μs, 54% more than baseline
    restreamUtf16BE:                 OK (0.24s)
      65.3 ms ± 3.1 ms, 45% more than baseline
    restreamUtf32LE:                 OK (0.33s)
      94.7 ms ± 9.4 ms, 47% more than baseline
    restreamUtf32BE:                 OK (0.73s)
      92.8 ms ± 3.8 ms, 46% more than baseline
  WordFrequencies
    Text:                            OK (1.54s)
      205  ms ±  16 ms, 34% more than baseline
  Programs
    BigTable:                        OK (0.57s)
      171  ms ± 3.3 ms, 27% more than baseline
    Cut
      Text:                          OK (0.14s)
        32.6 ms ± 3.2 ms, 21% more than baseline
      LazyText:                      OK (0.19s)
        48.4 ms ± 3.6 ms, 23% more than baseline
      TextByteString:                OK (0.48s)
        11.3 ms ± 865 μs, 32% more than baseline
      LazyTextByteString:            OK (0.19s)
        19.0 ms ± 1.4 ms, 29% more than baseline
    Fold:                            OK (0.99s)
      132  ms ± 4.1 ms, 36% more than baseline
    Sort
      Text:                          OK (1.39s)
        88.0 ms ± 4.7 ms, 27% more than baseline
      LazyText:                      OK (0.44s)
        132  ms ± 8.1 ms, 30% more than baseline
      TextByteString:                OK (1.82s)
        56.5 ms ± 2.6 ms, 34% more than baseline
      LazyTextByteString:            OK (0.50s)
        64.2 ms ± 5.8 ms, 29% more than baseline
      TextBuilder:                   OK (0.94s)
        57.3 ms ± 5.0 ms, 36% more than baseline
    StripTags
      Text:                          OK (2.16s)
        696  ms ±  46 ms, 14% more than baseline
      TextByteString:                OK (1.89s)
        255  ms ± 9.1 ms, 16% more than baseline
    Throughput
      Text:                          OK (0.17s)
        41.5 ms ± 3.6 ms, 18% more than baseline
      LazyText:                      OK (0.70s)
        40.4 ms ± 695 μs, 20% more than baseline
      TextByteString:                OK (0.76s)
        4.39 ms ± 133 μs, 74% more than baseline
      LazyTextByteString:            OK (0.38s)
        3.78 ms ± 272 μs, 37% more than baseline

The largest outliers are the following benchmarks, where the number is mean relative to 9.4.4.


All.Pure.ascii-small.toLower.Text,2.596621780908246
All.Pure.ascii-small.toUpper.Text,2.358755356262447
All.Pure.ascii.replicate char.LazyText,2.499722873092423
All.Pure.ascii.replicate string.LazyText,2.2572410054338343
All.Pure.ascii.toLower.Text,3.1815293595268455
All.Pure.ascii.toUpper.Text,2.82356005206939
All.Pure.english.replicate char.LazyText,2.6739704748511217
All.Pure.english.replicate string.LazyText,2.0432417641411265
All.Pure.english.toLower.Text,2.9464208480716763
All.Pure.english.toUpper.Text,2.917234634014721
Edited by Simon Peyton Jones
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information