packages feed

binary-parsers-0.2.1.0: README.md

binary-parsers
==============

[![Hackage](https://img.shields.io/hackage/v/binary-parsers.svg?style=flat)](http://hackage.haskell.org/package/binary-parsers)
[![Build Status](https://travis-ci.org/winterland1989/binary-parsers.svg)](https://travis-ci.org/winterland1989/binary-parsers)

This package extends [binary](http://hackage.haskell.org/package/binary) with parsec/attoparsec style parsing combinators. It's useful when you want to deal with various binary format, and it's very fast. You can now write more complex `Binary` instances using comprehensive combinators, with serialisation packages like blaze-texual.

Binary's `Get` monad is designed to perform best on non-backtracking cases, but it still provides fast backtracking support via `Alternative` instance, it's overall an excellent alternative to attoparsec if you only deal with `ByteString`.

Building
--------

binary-parsers comes with a test suite modified from attoparsec, and a JSON parsing benchmarks. Here you go:

```
git clone https://github.com/winterland1989/binary-parsers.git
cd binary-parsers
cabal update
cabal configure --enable-tests --enable-benchmarks
cabal build
```

Run the test suite and benchmarks.

```
cabal test
cabal bench
```

Benchmark
---------

```
start benchmark http request parser
benchmarking http-req/attoparsec
time                 2.234 μs   (2.216 μs .. 2.252 μs)
                     0.999 R²   (0.999 R² .. 1.000 R²)
mean                 2.243 μs   (2.227 μs .. 2.261 μs)
std dev              58.33 ns   (45.77 ns .. 81.74 ns)
variance introduced by outliers: 32% (moderately inflated)

benchmarking http-req/binary-parsers
time                 1.355 μs   (1.344 μs .. 1.368 μs)
                     0.999 R²   (0.999 R² .. 1.000 R²)
mean                 1.367 μs   (1.354 μs .. 1.379 μs)
std dev              42.42 ns   (34.69 ns .. 54.51 ns)
variance introduced by outliers: 42% (moderately inflated)

benchmarking http-req/scanner
time                 1.440 μs   (1.346 μs .. 1.652 μs)
                     0.928 R²   (0.848 R² .. 0.999 R²)
mean                 1.392 μs   (1.345 μs .. 1.528 μs)
std dev              268.6 ns   (40.18 ns .. 516.8 ns)
variance introduced by outliers: 97% (severely inflated)

benchmarking http-req/warp
time                 921.0 ns   (913.2 ns .. 928.5 ns)
                     0.999 R²   (0.999 R² .. 1.000 R²)
mean                 923.5 ns   (916.3 ns .. 931.3 ns)
std dev              25.51 ns   (21.12 ns .. 31.75 ns)
variance introduced by outliers: 38% (moderately inflated)

start benchmark JSON parser
benchmarking attoparsec/buffer-builder
time                 4.152 ms   (4.088 ms .. 4.201 ms)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 4.256 ms   (4.221 ms .. 4.302 ms)
std dev              128.6 μs   (97.90 μs .. 190.0 μs)
variance introduced by outliers: 13% (moderately inflated)

benchmarking binary-parser/buffer-builder
time                 3.768 ms   (3.663 ms .. 3.910 ms)
                     0.993 R²   (0.986 R² .. 0.998 R²)
mean                 3.815 ms   (3.765 ms .. 3.877 ms)
std dev              175.5 μs   (140.6 μs .. 253.8 μs)
variance introduced by outliers: 27% (moderately inflated)

benchmarking attoparsec/lazy-bytestring/buffer-builder
time                 4.117 ms   (4.037 ms .. 4.186 ms)
                     0.997 R²   (0.994 R² .. 0.999 R²)
mean                 4.328 ms   (4.151 ms .. 5.153 ms)
std dev              1.013 ms   (102.4 μs .. 2.296 ms)
variance introduced by outliers: 90% (severely inflated)

benchmarking binary-parser/lazy-bytestring/buffer-builder
time                 4.146 ms   (3.765 ms .. 4.911 ms)
                     0.763 R²   (0.649 R² .. 0.975 R²)
mean                 4.158 ms   (3.859 ms .. 4.783 ms)
std dev              1.300 ms   (791.0 μs .. 1.930 ms)
variance introduced by outliers: 95% (severely inflated)

benchmarking attoparsec/dates-fract
time                 3.990 μs   (3.934 μs .. 4.064 μs)
                     0.958 R²   (0.869 R² .. 0.998 R²)
mean                 4.678 μs   (4.105 μs .. 6.598 μs)
std dev              3.240 μs   (890.6 ns .. 6.569 μs)
variance introduced by outliers: 99% (severely inflated)

benchmarking binary-parser/dates-fract
time                 3.073 μs   (2.993 μs .. 3.168 μs)
                     0.993 R²   (0.987 R² .. 0.999 R²)
mean                 3.130 μs   (3.030 μs .. 3.534 μs)
std dev              582.4 ns   (196.7 ns .. 1.256 μs)
variance introduced by outliers: 97% (severely inflated)

benchmarking attoparsec/lazy-bytestring/dates-fract
time                 4.162 μs   (4.079 μs .. 4.301 μs)
                     0.936 R²   (0.818 R² .. 0.998 R²)
mean                 4.485 μs   (4.118 μs .. 5.618 μs)
std dev              2.185 μs   (241.3 ns .. 4.168 μs)
variance introduced by outliers: 99% (severely inflated)

benchmarking binary-parser/lazy-bytestring/dates-fract
time                 3.038 μs   (3.017 μs .. 3.061 μs)
                     0.999 R²   (0.999 R² .. 1.000 R²)
mean                 3.042 μs   (3.017 μs .. 3.067 μs)
std dev              86.40 ns   (72.15 ns .. 110.5 ns)
variance introduced by outliers: 36% (moderately inflated)

benchmarking attoparsec/dates
time                 3.890 μs   (3.852 μs .. 3.927 μs)
                     0.999 R²   (0.999 R² .. 0.999 R²)
mean                 3.911 μs   (3.869 μs .. 3.955 μs)
std dev              147.6 ns   (125.4 ns .. 185.8 ns)
variance introduced by outliers: 49% (moderately inflated)

benchmarking binary-parser/dates
time                 2.962 μs   (2.930 μs .. 2.993 μs)
                     0.999 R²   (0.999 R² .. 0.999 R²)
mean                 2.971 μs   (2.940 μs .. 3.007 μs)
std dev              115.6 ns   (92.31 ns .. 143.5 ns)
variance introduced by outliers: 51% (severely inflated)

benchmarking attoparsec/lazy-bytestring/dates
time                 3.950 μs   (3.891 μs .. 4.010 μs)
                     0.998 R²   (0.997 R² .. 0.999 R²)
mean                 3.954 μs   (3.905 μs .. 4.009 μs)
std dev              171.8 ns   (145.4 ns .. 203.0 ns)
variance introduced by outliers: 56% (severely inflated)

benchmarking binary-parser/lazy-bytestring/dates
time                 2.961 μs   (2.935 μs .. 2.987 μs)
                     0.999 R²   (0.999 R² .. 1.000 R²)
mean                 2.960 μs   (2.936 μs .. 2.993 μs)
std dev              93.80 ns   (72.84 ns .. 145.9 ns)
variance introduced by outliers: 41% (moderately inflated)

benchmarking attoparsec/example
time                 74.67 μs   (73.57 μs .. 75.75 μs)
                     0.998 R²   (0.998 R² .. 0.999 R²)
mean                 74.86 μs   (74.11 μs .. 75.73 μs)
std dev              2.666 μs   (2.239 μs .. 3.379 μs)
variance introduced by outliers: 37% (moderately inflated)

benchmarking binary-parser/example
time                 57.40 μs   (56.92 μs .. 57.90 μs)
                     0.999 R²   (0.999 R² .. 1.000 R²)
mean                 57.63 μs   (57.19 μs .. 58.12 μs)
std dev              1.585 μs   (1.240 μs .. 2.004 μs)
variance introduced by outliers: 26% (moderately inflated)

benchmarking attoparsec/lazy-bytestring/example
time                 78.02 μs   (77.31 μs .. 78.81 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 78.12 μs   (77.35 μs .. 78.97 μs)
std dev              2.733 μs   (2.141 μs .. 3.506 μs)
variance introduced by outliers: 35% (moderately inflated)

benchmarking binary-parser/lazy-bytestring/example
time                 62.15 μs   (57.00 μs .. 72.25 μs)
                     0.931 R²   (0.874 R² .. 0.999 R²)
mean                 58.85 μs   (57.24 μs .. 63.61 μs)
std dev              8.903 μs   (2.232 μs .. 18.31 μs)
variance introduced by outliers: 92% (severely inflated)

benchmarking attoparsec/geometry
time                 3.216 ms   (3.166 ms .. 3.266 ms)
                     0.995 R²   (0.986 R² .. 0.999 R²)
mean                 3.293 ms   (3.235 ms .. 3.410 ms)
std dev              258.3 μs   (113.4 μs .. 481.1 μs)
variance introduced by outliers: 53% (severely inflated)

benchmarking binary-parser/geometry
time                 2.466 ms   (2.418 ms .. 2.523 ms)
                     0.996 R²   (0.994 R² .. 0.998 R²)
mean                 2.527 ms   (2.498 ms .. 2.567 ms)
std dev              114.9 μs   (92.96 μs .. 146.6 μs)
variance introduced by outliers: 29% (moderately inflated)

benchmarking attoparsec/lazy-bytestring/geometry
time                 3.296 ms   (3.240 ms .. 3.357 ms)
                     0.998 R²   (0.997 R² .. 0.999 R²)
mean                 3.282 ms   (3.252 ms .. 3.310 ms)
std dev              94.60 μs   (78.03 μs .. 117.8 μs)
variance introduced by outliers: 14% (moderately inflated)

benchmarking binary-parser/lazy-bytestring/geometry
time                 2.462 ms   (2.424 ms .. 2.500 ms)
                     0.998 R²   (0.996 R² .. 0.999 R²)
mean                 2.454 ms   (2.431 ms .. 2.483 ms)
std dev              90.13 μs   (74.45 μs .. 119.6 μs)
variance introduced by outliers: 22% (moderately inflated)

benchmarking attoparsec/integers
time                 303.8 μs   (301.0 μs .. 306.8 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 304.3 μs   (301.6 μs .. 307.0 μs)
std dev              8.985 μs   (7.176 μs .. 11.49 μs)
variance introduced by outliers: 23% (moderately inflated)

benchmarking binary-parser/integers
time                 222.4 μs   (206.7 μs .. 245.6 μs)
                     0.956 R²   (0.907 R² .. 0.998 R²)
mean                 210.2 μs   (205.4 μs .. 226.7 μs)
std dev              26.99 μs   (8.189 μs .. 54.58 μs)
variance introduced by outliers: 86% (severely inflated)

benchmarking attoparsec/lazy-bytestring/integers
time                 302.1 μs   (298.8 μs .. 305.5 μs)
                     0.999 R²   (0.999 R² .. 0.999 R²)
mean                 304.8 μs   (302.9 μs .. 307.2 μs)
std dev              7.239 μs   (5.903 μs .. 8.904 μs)
variance introduced by outliers: 16% (moderately inflated)

benchmarking binary-parser/lazy-bytestring/integers
time                 206.4 μs   (203.0 μs .. 210.2 μs)
                     0.998 R²   (0.998 R² .. 0.999 R²)
mean                 204.7 μs   (203.1 μs .. 206.3 μs)
std dev              5.477 μs   (4.497 μs .. 6.974 μs)
variance introduced by outliers: 21% (moderately inflated)

benchmarking attoparsec/jp10
time                 489.4 μs   (484.9 μs .. 495.0 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 490.0 μs   (486.2 μs .. 494.0 μs)
std dev              13.70 μs   (10.93 μs .. 18.78 μs)
variance introduced by outliers: 20% (moderately inflated)

benchmarking binary-parser/jp10
time                 458.2 μs   (455.1 μs .. 461.6 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 463.4 μs   (459.1 μs .. 468.5 μs)
std dev              15.32 μs   (12.59 μs .. 19.01 μs)
variance introduced by outliers: 26% (moderately inflated)

benchmarking attoparsec/lazy-bytestring/jp10
time                 488.0 μs   (480.6 μs .. 493.8 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 485.8 μs   (481.6 μs .. 490.0 μs)
std dev              14.50 μs   (11.70 μs .. 19.83 μs)
variance introduced by outliers: 22% (moderately inflated)

benchmarking binary-parser/lazy-bytestring/jp10
time                 478.6 μs   (453.6 μs .. 535.7 μs)
                     0.932 R²   (0.837 R² .. 0.999 R²)
mean                 473.8 μs   (458.7 μs .. 527.8 μs)
std dev              84.24 μs   (12.21 μs .. 172.8 μs)
variance introduced by outliers: 91% (severely inflated)

benchmarking attoparsec/jp100
time                 2.961 ms   (2.913 ms .. 3.010 ms)
                     0.998 R²   (0.997 R² .. 0.999 R²)
mean                 3.009 ms   (2.985 ms .. 3.035 ms)
std dev              78.61 μs   (67.01 μs .. 95.10 μs)
variance introduced by outliers: 11% (moderately inflated)

benchmarking binary-parser/jp100
time                 2.735 ms   (2.703 ms .. 2.771 ms)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 2.731 ms   (2.707 ms .. 2.762 ms)
std dev              91.60 μs   (70.79 μs .. 137.6 μs)
variance introduced by outliers: 18% (moderately inflated)

benchmarking attoparsec/lazy-bytestring/jp100
time                 3.005 ms   (2.964 ms .. 3.051 ms)
                     0.998 R²   (0.996 R² .. 0.999 R²)
mean                 3.095 ms   (3.065 ms .. 3.128 ms)
std dev              108.5 μs   (88.97 μs .. 134.4 μs)
variance introduced by outliers: 19% (moderately inflated)

benchmarking binary-parser/lazy-bytestring/jp100
time                 2.760 ms   (2.724 ms .. 2.797 ms)
                     0.998 R²   (0.997 R² .. 0.999 R²)
mean                 2.747 ms   (2.718 ms .. 2.776 ms)
std dev              93.90 μs   (71.25 μs .. 122.5 μs)
variance introduced by outliers: 19% (moderately inflated)

benchmarking attoparsec/jp50
time                 1.618 ms   (1.591 ms .. 1.648 ms)
                     0.998 R²   (0.997 R² .. 0.999 R²)
mean                 1.616 ms   (1.602 ms .. 1.633 ms)
std dev              50.98 μs   (40.28 μs .. 69.45 μs)
variance introduced by outliers: 19% (moderately inflated)

benchmarking binary-parser/jp50
time                 1.518 ms   (1.459 ms .. 1.674 ms)
                     0.863 R²   (0.672 R² .. 0.999 R²)
mean                 1.533 ms   (1.466 ms .. 1.801 ms)
std dev              421.6 μs   (44.69 μs .. 893.1 μs)
variance introduced by outliers: 95% (severely inflated)

benchmarking attoparsec/lazy-bytestring/jp50
time                 1.668 ms   (1.655 ms .. 1.684 ms)
                     0.999 R²   (0.999 R² .. 0.999 R²)
mean                 1.674 ms   (1.664 ms .. 1.690 ms)
std dev              42.55 μs   (34.99 μs .. 54.22 μs)
variance introduced by outliers: 12% (moderately inflated)

benchmarking binary-parser/lazy-bytestring/jp50
time                 1.436 ms   (1.420 ms .. 1.453 ms)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 1.476 ms   (1.462 ms .. 1.490 ms)
std dev              47.49 μs   (39.59 μs .. 57.24 μs)
variance introduced by outliers: 20% (moderately inflated)

benchmarking attoparsec/numbers
time                 549.6 μs   (541.4 μs .. 558.1 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 545.8 μs   (541.5 μs .. 550.4 μs)
std dev              14.23 μs   (11.57 μs .. 18.70 μs)
variance introduced by outliers: 17% (moderately inflated)

benchmarking binary-parser/numbers
time                 365.3 μs   (361.6 μs .. 369.2 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 366.2 μs   (363.1 μs .. 369.7 μs)
std dev              11.05 μs   (9.100 μs .. 13.57 μs)
variance introduced by outliers: 23% (moderately inflated)

benchmarking attoparsec/lazy-bytestring/numbers
time                 550.6 μs   (545.9 μs .. 554.0 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 547.2 μs   (542.7 μs .. 551.8 μs)
std dev              14.99 μs   (12.38 μs .. 19.36 μs)
variance introduced by outliers: 19% (moderately inflated)

benchmarking binary-parser/lazy-bytestring/numbers
time                 370.4 μs   (364.8 μs .. 379.3 μs)
                     0.932 R²   (0.791 R² .. 0.999 R²)
mean                 397.1 μs   (371.9 μs .. 490.7 μs)
std dev              152.8 μs   (12.14 μs .. 323.0 μs)
variance introduced by outliers: 99% (severely inflated)

benchmarking attoparsec/twitter1
time                 24.33 μs   (24.01 μs .. 24.61 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 24.11 μs   (23.86 μs .. 24.38 μs)
std dev              907.2 ns   (757.5 ns .. 1.133 μs)
variance introduced by outliers: 43% (moderately inflated)

benchmarking binary-parser/twitter1
time                 18.40 μs   (18.27 μs .. 18.54 μs)
                     0.999 R²   (0.999 R² .. 0.999 R²)
mean                 18.39 μs   (18.19 μs .. 18.58 μs)
std dev              657.9 ns   (537.6 ns .. 849.5 ns)
variance introduced by outliers: 42% (moderately inflated)

benchmarking attoparsec/lazy-bytestring/twitter1
time                 24.34 μs   (24.10 μs .. 24.62 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 24.30 μs   (24.00 μs .. 24.57 μs)
std dev              959.3 ns   (787.1 ns .. 1.229 μs)
variance introduced by outliers: 46% (moderately inflated)

benchmarking binary-parser/lazy-bytestring/twitter1
time                 18.27 μs   (18.11 μs .. 18.45 μs)
                     0.999 R²   (0.999 R² .. 0.999 R²)
mean                 18.43 μs   (18.25 μs .. 18.65 μs)
std dev              627.3 ns   (509.6 ns .. 763.0 ns)
variance introduced by outliers: 39% (moderately inflated)

benchmarking attoparsec/twitter10
time                 177.9 μs   (175.8 μs .. 179.7 μs)
                     0.999 R²   (0.999 R² .. 0.999 R²)
mean                 176.6 μs   (175.0 μs .. 178.3 μs)
std dev              5.613 μs   (4.525 μs .. 7.147 μs)
variance introduced by outliers: 28% (moderately inflated)

benchmarking binary-parser/twitter10
time                 137.7 μs   (133.9 μs .. 141.0 μs)
                     0.974 R²   (0.940 R² .. 0.996 R²)
mean                 217.6 μs   (158.7 μs .. 343.3 μs)
std dev              289.1 μs   (104.6 μs .. 496.4 μs)
variance introduced by outliers: 99% (severely inflated)

benchmarking attoparsec/lazy-bytestring/twitter10
time                 172.6 μs   (171.0 μs .. 174.1 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 174.4 μs   (172.5 μs .. 176.7 μs)
std dev              7.031 μs   (5.406 μs .. 9.696 μs)
variance introduced by outliers: 39% (moderately inflated)

benchmarking binary-parser/lazy-bytestring/twitter10
time                 138.8 μs   (137.9 μs .. 139.9 μs)
                     0.999 R²   (0.999 R² .. 0.999 R²)
mean                 140.6 μs   (139.2 μs .. 142.2 μs)
std dev              4.915 μs   (3.984 μs .. 6.230 μs)
variance introduced by outliers: 33% (moderately inflated)

benchmarking attoparsec/twitter100
time                 2.273 ms   (2.236 ms .. 2.301 ms)
                     0.998 R²   (0.997 R² .. 0.999 R²)
mean                 2.276 ms   (2.258 ms .. 2.299 ms)
std dev              69.99 μs   (50.91 μs .. 109.2 μs)
variance introduced by outliers: 17% (moderately inflated)

benchmarking binary-parser/twitter100
time                 2.035 ms   (2.007 ms .. 2.059 ms)
                     0.998 R²   (0.997 R² .. 0.999 R²)
mean                 2.056 ms   (2.034 ms .. 2.078 ms)
std dev              74.85 μs   (62.02 μs .. 88.08 μs)
variance introduced by outliers: 22% (moderately inflated)

benchmarking attoparsec/lazy-bytestring/twitter100
time                 2.550 ms   (2.322 ms .. 2.870 ms)
                     0.960 R²   (0.931 R² .. 0.998 R²)
mean                 2.359 ms   (2.322 ms .. 2.459 ms)
std dev              194.3 μs   (75.87 μs .. 386.2 μs)
variance introduced by outliers: 58% (severely inflated)

benchmarking binary-parser/lazy-bytestring/twitter100
time                 2.016 ms   (1.983 ms .. 2.050 ms)
                     0.998 R²   (0.997 R² .. 0.999 R²)
mean                 2.052 ms   (2.031 ms .. 2.078 ms)
std dev              80.58 μs   (63.40 μs .. 112.5 μs)
variance introduced by outliers: 25% (moderately inflated)

benchmarking attoparsec/twitter20
time                 377.3 μs   (373.5 μs .. 380.8 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 372.9 μs   (369.3 μs .. 376.9 μs)
std dev              12.50 μs   (10.42 μs .. 15.59 μs)
variance introduced by outliers: 28% (moderately inflated)

benchmarking binary-parser/twitter20
time                 331.1 μs   (327.1 μs .. 335.0 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 329.2 μs   (325.8 μs .. 332.4 μs)
std dev              11.08 μs   (9.652 μs .. 13.51 μs)
variance introduced by outliers: 28% (moderately inflated)

benchmarking attoparsec/lazy-bytestring/twitter20
time                 375.3 μs   (372.2 μs .. 377.7 μs)
                     0.999 R²   (0.999 R² .. 0.999 R²)
mean                 372.5 μs   (369.2 μs .. 376.2 μs)
std dev              11.27 μs   (9.275 μs .. 14.00 μs)
variance introduced by outliers: 23% (moderately inflated)

benchmarking binary-parser/lazy-bytestring/twitter20
time                 333.5 μs   (330.7 μs .. 336.2 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 334.0 μs   (330.9 μs .. 337.5 μs)
std dev              10.37 μs   (8.658 μs .. 13.04 μs)
variance introduced by outliers: 25% (moderately inflated)

benchmarking attoparsec/twitter50
time                 1.247 ms   (1.125 ms .. 1.524 ms)
                     0.876 R²   (0.782 R² .. 0.999 R²)
mean                 1.169 ms   (1.134 ms .. 1.326 ms)
std dev              208.9 μs   (24.07 μs .. 477.5 μs)
variance introduced by outliers: 89% (severely inflated)

benchmarking binary-parser/twitter50
time                 1.020 ms   (1.008 ms .. 1.031 ms)
                     0.998 R²   (0.998 R² .. 0.999 R²)
mean                 1.032 ms   (1.023 ms .. 1.042 ms)
std dev              32.65 μs   (26.99 μs .. 40.35 μs)
variance introduced by outliers: 20% (moderately inflated)

benchmarking attoparsec/lazy-bytestring/twitter50
time                 1.105 ms   (1.085 ms .. 1.119 ms)
                     0.997 R²   (0.996 R² .. 0.998 R²)
mean                 1.144 ms   (1.122 ms .. 1.176 ms)
std dev              88.80 μs   (68.65 μs .. 110.9 μs)
variance introduced by outliers: 60% (severely inflated)

benchmarking binary-parser/lazy-bytestring/twitter50
time                 1.026 ms   (1.015 ms .. 1.038 ms)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 1.035 ms   (1.027 ms .. 1.043 ms)
std dev              28.09 μs   (22.72 μs .. 36.10 μs)
variance introduced by outliers: 16% (moderately inflated)

Benchmark criterion: FINISH
```