Skip to content

Instantly share code, notes, and snippets.

@devinus
Last active June 21, 2024 01:53
Show Gist options
  • Save devinus/afb351ae45194a6b93b6db9bf2d4c163 to your computer and use it in GitHub Desktop.
Save devinus/afb351ae45194a6b93b6db9bf2d4c163 to your computer and use it in GitHub Desktop.
Poison Benchmarks (2024-06-06)

Decode

Benchmark run from 2024-06-06 13:21:21.464497Z UTC

System

Benchmark suite executing on the following system:

Operating System Linux
CPU Information Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz
Number of Available Cores 8
Available Memory 15.33 GB
Elixir Version 1.17.0-rc.1
Erlang Version 27.0

Configuration

Benchmark suite executing with the following configuration:

:time 10 s
:parallel 4
:warmup 1 s

Statistics

Input: Benchee

Run Time

Name IPS Average Devitation Median 99th %
jiffy 131.78 7.59 ms ±11.79% 7.25 ms 13.56 ms
json 114.39 8.74 ms ±15.06% 8.31 ms 16.11 ms
Poison 74.35 13.45 ms ±12.63% 13.28 ms 18.43 ms
Thoas 67.16 14.89 ms ±15.27% 14.40 ms 21.34 ms
Jason 57.86 17.28 ms ±12.71% 16.79 ms 23.44 ms
jsone 53.00 18.87 ms ±13.73% 18.65 ms 25.32 ms
JSX 14.87 67.27 ms ±6.42% 66.25 ms 80.09 ms
Tiny 12.13 82.47 ms ±5.66% 81.51 ms 97.11 ms

Run Time Comparison

Name IPS Slower
jiffy 131.78  
json 114.39 1.15x
Poison 74.35 1.77x
Thoas 67.16 1.96x
Jason 57.86 2.28x
jsone 53.00 2.49x
JSX 14.87 8.86x
Tiny 12.13 10.87x

Memory Usage

Name Average Factor
jiffy 2.63 MB  
json 2.63 MB 1.0x
Poison 6.83 MB 2.6x
Thoas 5.54 MB 2.11x
Jason 5.55 MB 2.11x
jsone 8.68 MB 3.3x
JSX 37.32 MB 14.2x
Tiny 48.47 MB 18.45x

Reduction Count

Name Average Factor
jiffy 0.0789 M  
json 1.33 M 16.88x
Poison 0.66 M 8.41x
Thoas 1.26 M 15.93x
Jason 1.26 M 15.93x
jsone 1.69 M 21.4x
JSX 2.59 M 32.78x
Tiny 4.13 M 52.4x

Input: Blockchain

Run Time

Name IPS Average Devitation Median 99th %
json 11.20 K 89.31 µs ±4.93% 87.83 µs 102.83 µs
Poison 10.47 K 95.52 µs ±5.13% 93.59 µs 110.53 µs
Jason 9.29 K 107.64 µs ±5.39% 107.39 µs 126.80 µs
jiffy 8.09 K 123.57 µs ±19.17% 109.44 µs 189.60 µs
Thoas 7.67 K 130.35 µs ±4.39% 130.89 µs 147.02 µs
jsone 6.63 K 150.77 µs ±5.02% 149.15 µs 171.15 µs
Tiny 5.45 K 183.43 µs ±15.58% 177.98 µs 292.84 µs
JSX 2.83 K 353.07 µs ±12.35% 343.39 µs 572.78 µs

Run Time Comparison

Name IPS Slower
json 11.20 K  
Poison 10.47 K 1.07x
Jason 9.29 K 1.21x
jiffy 8.09 K 1.38x
Thoas 7.67 K 1.46x
jsone 6.63 K 1.69x
Tiny 5.45 K 2.05x
JSX 2.83 K 3.95x

Memory Usage

Name Average Factor
json 35.95 KB  
Poison 55.32 KB 1.54x
Jason 51.63 KB 1.44x
jiffy 1.55 KB 0.04x
Thoas 51.41 KB 1.43x
jsone 137.75 KB 3.83x
Tiny 290.16 KB 8.07x
JSX 315.89 KB 8.79x

Reduction Count

Name Average Factor
json 13.04 K  
Poison 10.87 K 0.83x
Jason 21.02 K 1.61x
jiffy 2.72 K 0.21x
Thoas 20.23 K 1.55x
jsone 23.52 K 1.8x
Tiny 31.12 K 2.39x
JSX 30.20 K 2.32x

Input: GeoJSON

Run Time

Name IPS Average Devitation Median 99th %
jiffy 10.77 92.85 ms ±16.35% 91.98 ms 134.53 ms
Poison 7.58 131.87 ms ±7.70% 131.96 ms 153.99 ms
jsone 7.42 134.80 ms ±4.70% 134.67 ms 150.12 ms
Thoas 6.97 143.50 ms ±14.54% 145.54 ms 188.70 ms
json 6.38 156.80 ms ±10.82% 153.23 ms 203.26 ms
Jason 5.98 167.18 ms ±13.34% 168.09 ms 221.59 ms
JSX 2.04 491.27 ms ±2.70% 492.10 ms 520.93 ms
Tiny 1.19 841.77 ms ±1.84% 842.39 ms 873.21 ms

Run Time Comparison

Name IPS Slower
jiffy 10.77  
Poison 7.58 1.42x
jsone 7.42 1.45x
Thoas 6.97 1.55x
json 6.38 1.69x
Jason 5.98 1.8x
JSX 2.04 5.29x
Tiny 1.19 9.07x

Memory Usage

Name Average Factor
jiffy 20.56 MB  
Poison 41.14 MB 2.0x
jsone 49.31 MB 2.4x
Thoas 31.06 MB 1.51x
json 27.41 MB 1.33x
Jason 31.06 MB 1.51x
JSX 151.55 MB 7.37x
Tiny 308.64 MB 15.01x

Reduction Count

Name Average Factor
jiffy 0.42 M  
Poison 3.36 M 7.98x
jsone 7.49 M 17.78x
Thoas 5.18 M 12.28x
json 5.28 M 12.54x
Jason 5.17 M 12.28x
JSX 10.29 M 24.4x
Tiny 18.71 M 44.38x

Input: Giphy

Run Time

Name IPS Average Devitation Median 99th %
json 787.36 1.27 ms ±2.26% 1.27 ms 1.30 ms
Poison 720.91 1.39 ms ±15.09% 1.30 ms 2.06 ms
Jason 698.76 1.43 ms ±15.48% 1.33 ms 2.09 ms
Thoas 683.06 1.46 ms ±15.38% 1.37 ms 2.17 ms
jiffy 633.62 1.58 ms ±19.00% 1.48 ms 2.48 ms
Tiny 511.19 1.96 ms ±13.02% 1.83 ms 2.64 ms
jsone 493.33 2.03 ms ±11.13% 1.94 ms 2.61 ms
JSX 326.75 3.06 ms ±7.72% 2.97 ms 3.66 ms

Run Time Comparison

Name IPS Slower
json 787.36  
Poison 720.91 1.09x
Jason 698.76 1.13x
Thoas 683.06 1.15x
jiffy 633.62 1.24x
Tiny 511.19 1.54x
jsone 493.33 1.6x
JSX 326.75 2.41x

Memory Usage

Name Average Factor
json 384.68 KB  
Poison 736.23 KB 1.91x
Jason 690.30 KB 1.79x
Thoas 690.22 KB 1.79x
jiffy 382.84 KB 1.0x
Tiny 3161.98 KB 8.22x
jsone 2052.46 KB 5.34x
JSX 3862.38 KB 10.04x

Reduction Count

Name Average Factor
json 100.94 K  
Poison 85.29 K 0.84x
Jason 161.99 K 1.6x
Thoas 154.67 K 1.53x
jiffy 12.35 K 0.12x
Tiny 248.06 K 2.46x
jsone 180.05 K 1.78x
JSX 257.95 K 2.56x

Input: GitHub

Run Time

Name IPS Average Devitation Median 99th %
json 3.71 K 269.24 µs ±7.04% 266.32 µs 314.77 µs
Poison 3.33 K 300.66 µs ±5.50% 295.81 µs 374.02 µs
Jason 3.14 K 318.58 µs ±5.80% 313.47 µs 402.78 µs
jiffy 2.92 K 343.05 µs ±7.86% 360.75 µs 384.99 µs
Thoas 2.61 K 383.11 µs ±4.67% 378.08 µs 450.72 µs
jsone 1.86 K 536.31 µs ±10.91% 520.75 µs 834.04 µs
Tiny 1.85 K 541.20 µs ±24.62% 492.16 µs 1171.24 µs
JSX 0.91 K 1098.84 µs ±9.17% 1061.58 µs 1556.19 µs

Run Time Comparison

Name IPS Slower
json 3.71 K  
Poison 3.33 K 1.12x
Jason 3.14 K 1.18x
jiffy 2.92 K 1.27x
Thoas 2.61 K 1.42x
jsone 1.86 K 1.99x
Tiny 1.85 K 2.01x
JSX 0.91 K 4.08x

Memory Usage

Name Average Factor
json 80.90 KB  
Poison 131.04 KB 1.62x
Jason 122.80 KB 1.52x
jiffy 40.84 KB 0.5x
Thoas 122.73 KB 1.52x
jsone 373.27 KB 4.61x
Tiny 646.59 KB 7.99x
JSX 1220.30 KB 15.08x

Reduction Count

Name Average Factor
json 29.23 K  
Poison 31.13 K 1.07x
Jason 62.56 K 2.14x
jiffy 6.99 K 0.24x
Thoas 60.70 K 2.08x
jsone 68.03 K 2.33x
Tiny 81.65 K 2.79x
JSX 94.63 K 3.24x

Input: GovTrack

Run Time

Name IPS Average Devitation Median 99th %
json 22.78 43.89 ms ±12.58% 43.46 ms 61.15 ms
Poison 16.94 59.03 ms ±10.62% 58.41 ms 74.32 ms
Jason 16.30 61.37 ms ±11.48% 60.75 ms 77.51 ms
Thoas 15.86 63.05 ms ±11.16% 61.49 ms 79.28 ms
jiffy 13.07 76.51 ms ±14.06% 75.79 ms 104.76 ms
jsone 9.38 106.60 ms ±4.61% 106.36 ms 119.67 ms
Tiny 6.33 157.92 ms ±3.58% 157.65 ms 171.97 ms
JSX 3.84 260.32 ms ±2.96% 259.46 ms 281.92 ms

Run Time Comparison

Name IPS Slower
json 22.78  
Poison 16.94 1.34x
Jason 16.30 1.4x
Thoas 15.86 1.44x
jiffy 13.07 1.74x
jsone 9.38 2.43x
Tiny 6.33 3.6x
JSX 3.84 5.93x

Memory Usage

Name Average Factor
json 7.06 MB  
Poison 12.64 MB 1.79x
Jason 11.69 MB 1.66x
Thoas 11.69 MB 1.66x
jiffy 23.84 MB 3.38x
jsone 33.35 MB 4.72x
Tiny 58.21 MB 8.24x
JSX 83.68 MB 11.85x

Reduction Count

Name Average Factor
json 2.67 M  
Poison 2.28 M 0.85x
Jason 4.50 M 1.69x
Thoas 4.34 M 1.63x
jiffy 0.51 M 0.19x
jsone 5.10 M 1.91x
Tiny 6.56 M 2.46x
JSX 6.94 M 2.6x

Input: Issue 90

Run Time

Name IPS Average Devitation Median 99th %
jiffy 76.70 13.04 ms ±1.18% 13.02 ms 13.41 ms
json 63.25 15.81 ms ±0.92% 15.78 ms 16.32 ms
Poison 40.53 24.67 ms ±3.95% 24.50 ms 27.06 ms
Jason 38.51 25.97 ms ±3.83% 25.83 ms 28.41 ms
Tiny 34.08 29.35 ms ±6.47% 29.01 ms 41.67 ms
Thoas 22.19 45.07 ms ±3.06% 44.78 ms 48.86 ms
jsone 17.05 58.64 ms ±0.61% 58.59 ms 60.23 ms
JSX 9.42 106.15 ms ±3.03% 105.83 ms 124.93 ms

Run Time Comparison

Name IPS Slower
jiffy 76.70  
json 63.25 1.21x
Poison 40.53 1.89x
Jason 38.51 1.99x
Tiny 34.08 2.25x
Thoas 22.19 3.46x
jsone 17.05 4.5x
JSX 9.42 8.14x

Memory Usage

Name Average Factor
jiffy 11.56 KB  
json 42.61 KB 3.69x
Poison 977.66 KB 84.55x
Jason 962.63 KB 83.25x
Tiny 5802.23 KB 501.81x
Thoas 962.51 KB 83.24x
jsone 3983.27 KB 344.5x
JSX 4367.54 KB 377.73x

Reduction Count

Name Average Factor
jiffy 0.0655 M  
json 1.19 M 18.15x
Poison 4.15 M 63.41x
Jason 8.22 M 125.49x
Tiny 8.35 M 127.37x
Thoas 8.22 M 125.48x
jsone 8.17 M 124.73x
JSX 8.30 M 126.64x

Input: JSON Generator

Run Time

Name IPS Average Devitation Median 99th %
json 1197.24 0.84 ms ±10.45% 0.84 ms 1.12 ms
Poison 1068.30 0.94 ms ±13.58% 0.92 ms 1.36 ms
Jason 1057.35 0.95 ms ±11.28% 0.93 ms 1.28 ms
Thoas 878.36 1.14 ms ±8.94% 1.12 ms 1.46 ms
jsone 633.16 1.58 ms ±11.01% 1.51 ms 2.07 ms
jiffy 606.95 1.65 ms ±19.59% 1.52 ms 2.58 ms
Tiny 568.19 1.76 ms ±15.16% 1.66 ms 2.50 ms
JSX 313.30 3.19 ms ±4.55% 3.16 ms 3.75 ms

Run Time Comparison

Name IPS Slower
json 1197.24  
Poison 1068.30 1.12x
Jason 1057.35 1.13x
Thoas 878.36 1.36x
jsone 633.16 1.89x
jiffy 606.95 1.97x
Tiny 568.19 2.11x
JSX 313.30 3.82x

Memory Usage

Name Average Factor
json 329.45 KB  
Poison 524.70 KB 1.59x
Jason 481.37 KB 1.46x
Thoas 481.23 KB 1.46x
jsone 1308.02 KB 3.97x
jiffy 294.80 KB 0.89x
Tiny 2594.17 KB 7.87x
JSX 3213.17 KB 9.75x

Reduction Count

Name Average Factor
json 75.23 K  
Poison 74.66 K 0.99x
Jason 139.57 K 1.86x
Thoas 135.75 K 1.8x
jsone 166.44 K 2.21x
jiffy 11.03 K 0.15x
Tiny 225.03 K 2.99x
JSX 230.20 K 3.06x

Input: JSON Generator (Pretty)

Run Time

Name IPS Average Devitation Median 99th %
json 965.56 1.04 ms ±8.73% 1.03 ms 1.34 ms
Poison 897.25 1.11 ms ±11.45% 1.08 ms 1.51 ms
Jason 874.49 1.14 ms ±9.91% 1.12 ms 1.47 ms
Thoas 769.73 1.30 ms ±7.88% 1.28 ms 1.63 ms
jsone 624.94 1.60 ms ±10.63% 1.53 ms 2.09 ms
Tiny 583.23 1.71 ms ±6.10% 1.70 ms 1.89 ms
jiffy 540.73 1.85 ms ±24.17% 1.73 ms 3.25 ms
JSX 282.10 3.54 ms ±7.30% 3.45 ms 4.22 ms

Run Time Comparison

Name IPS Slower
json 965.56  
Poison 897.25 1.08x
Jason 874.49 1.1x
Thoas 769.73 1.25x
jsone 624.94 1.55x
Tiny 583.23 1.66x
jiffy 540.73 1.79x
JSX 282.10 3.42x

Memory Usage

Name Average Factor
json 329.83 KB  
Poison 520.42 KB 1.58x
Jason 481.30 KB 1.46x
Thoas 481.30 KB 1.46x
jsone 1307.92 KB 3.97x
Tiny 2595.41 KB 7.87x
jiffy 536.06 KB 1.63x
JSX 3213.84 KB 9.74x

Reduction Count

Name Average Factor
json 112.89 K  
Poison 90.90 K 0.81x
Jason 178.15 K 1.58x
Thoas 170.87 K 1.51x
jsone 203.80 K 1.81x
Tiny 267.90 K 2.37x
jiffy 14.83 K 0.13x
JSX 266.99 K 2.37x

Input: Pokedex

Run Time

Name IPS Average Devitation Median 99th %
json 1.80 K 0.56 ms ±5.83% 0.55 ms 0.69 ms
Poison 1.56 K 0.64 ms ±15.14% 0.60 ms 0.99 ms
Thoas 1.55 K 0.64 ms ±11.58% 0.62 ms 0.84 ms
Jason 1.48 K 0.67 ms ±15.95% 0.63 ms 1.14 ms
jsone 0.93 K 1.08 ms ±13.94% 1.01 ms 1.61 ms
jiffy 0.72 K 1.40 ms ±28.90% 1.23 ms 2.33 ms
Tiny 0.66 K 1.50 ms ±14.83% 1.40 ms 2.16 ms
JSX 0.52 K 1.92 ms ±12.87% 1.80 ms 2.59 ms

Run Time Comparison

Name IPS Slower
json 1.80 K  
Poison 1.56 K 1.15x
Thoas 1.55 K 1.16x
Jason 1.48 K 1.21x
jsone 0.93 K 1.94x
jiffy 0.72 K 2.52x
Tiny 0.66 K 2.71x
JSX 0.52 K 3.46x

Memory Usage

Name Average Factor
json 280.32 KB  
Poison 433.45 KB 1.55x
Thoas 389.66 KB 1.39x
Jason 389.81 KB 1.39x
jsone 1111.10 KB 3.96x
jiffy 109.95 KB 0.39x
Tiny 2045.53 KB 7.3x
JSX 2651.51 KB 9.46x

Reduction Count

Name Average Factor
json 58.35 K  
Poison 43.30 K 0.74x
Thoas 74.68 K 1.28x
Jason 79.11 K 1.36x
jsone 98.76 K 1.69x
jiffy 7.99 K 0.14x
Tiny 145.35 K 2.49x
JSX 154.47 K 2.65x

Input: Reddit

Run Time

Name IPS Average Devitation Median 99th %
Poison 1022.75 0.98 ms ±4.36% 0.97 ms 1.19 ms
Jason 945.26 1.06 ms ±5.56% 1.04 ms 1.33 ms
json 929.96 1.08 ms ±11.43% 1.09 ms 1.41 ms
Thoas 814.30 1.23 ms ±7.23% 1.20 ms 1.61 ms
jsone 548.57 1.82 ms ±7.84% 1.76 ms 2.29 ms
jiffy 467.23 2.14 ms ±26.49% 1.97 ms 3.48 ms
Tiny 460.25 2.17 ms ±14.30% 2.02 ms 2.96 ms
JSX 262.89 3.80 ms ±4.72% 3.82 ms 4.24 ms

Run Time Comparison

Name IPS Slower
Poison 1022.75  
Jason 945.26 1.08x
json 929.96 1.1x
Thoas 814.30 1.26x
jsone 548.57 1.86x
jiffy 467.23 2.19x
Tiny 460.25 2.22x
JSX 262.89 3.89x

Memory Usage

Name Average Factor
Poison 589.04 KB  
Jason 559.56 KB 0.95x
json 378.88 KB 0.64x
Thoas 554.93 KB 0.94x
jsone 1453.73 KB 2.47x
jiffy 508.53 KB 0.86x
Tiny 2711.66 KB 4.6x
JSX 3529.34 KB 5.99x

Reduction Count

Name Average Factor
Poison 80.15 K  
Jason 160.95 K 2.01x
json 91.14 K 1.14x
Thoas 151.45 K 1.89x
jsone 184.54 K 2.3x
jiffy 13.23 K 0.17x
Tiny 242.36 K 3.02x
JSX 253.67 K 3.16x

Input: UTF-8 escaped

Run Time

Name IPS Average Devitation Median 99th %
jiffy 16.96 K 58.96 µs ±38.85% 58.24 µs 71.09 µs
json 4.07 K 245.83 µs ±5.16% 243.68 µs 264.61 µs
jsone 2.56 K 390.12 µs ±10.40% 378.52 µs 604.04 µs
Poison 2.16 K 463.22 µs ±25.56% 466.94 µs 801.48 µs
Jason 1.92 K 521.29 µs ±28.41% 463.73 µs 963.62 µs
Thoas 1.88 K 533.26 µs ±26.67% 480.29 µs 962.71 µs
Tiny 1.72 K 581.50 µs ±30.36% 517.42 µs 1096.49 µs
JSX 1.52 K 657.47 µs ±24.79% 593.91 µs 1152.87 µs

Run Time Comparison

Name IPS Slower
jiffy 16.96 K  
json 4.07 K 4.17x
jsone 2.56 K 6.62x
Poison 2.16 K 7.86x
Jason 1.92 K 8.84x
Thoas 1.88 K 9.04x
Tiny 1.72 K 9.86x
JSX 1.52 K 11.15x

Memory Usage

Name Average Factor
jiffy 0.0859 KB  
json 0.148 KB 1.73x
jsone 586.26 KB 6821.91x
Poison 271.43 KB 3158.45x
Jason 283.81 KB 3302.55x
Thoas 283.74 KB 3301.73x
Tiny 871.73 KB 10143.73x
JSX 824.82 KB 9597.91x

Reduction Count

Name Average Factor
jiffy 0.00300 K  
json 17.64 K 5879.33x
jsone 30.95 K 10318.33x
Poison 24.00 K 8001.0x
Jason 36.01 K 12001.67x
Thoas 39.24 K 13079.0x
Tiny 44.77 K 14923.67x
JSX 42.23 K 14075.33x

Input: UTF-8 unescaped

Run Time

Name IPS Average Devitation Median 99th %
jiffy 25.11 K 39.83 µs ±15.20% 39.37 µs 50.00 µs
Poison 20.61 K 48.51 µs ±9.65% 47.68 µs 60.85 µs
json 12.42 K 80.49 µs ±5.84% 79.50 µs 95.84 µs
Jason 11.99 K 83.39 µs ±6.08% 82.37 µs 96.31 µs
Thoas 11.24 K 88.96 µs ±11.30% 87.68 µs 102.91 µs
jsone 9.96 K 100.44 µs ±4.61% 99.53 µs 113.87 µs
JSX 8.60 K 116.34 µs ±4.71% 115.42 µs 129.30 µs
Tiny 7.37 K 135.66 µs ±15.25% 132.15 µs 209.58 µs

Run Time Comparison

Name IPS Slower
jiffy 25.11 K  
Poison 20.61 K 1.22x
json 12.42 K 2.02x
Jason 11.99 K 2.09x
Thoas 11.24 K 2.23x
jsone 9.96 K 2.52x
JSX 8.60 K 2.92x
Tiny 7.37 K 3.41x

Memory Usage

Name Average Factor
jiffy 0.0859 KB  
Poison 6.86 KB 79.82x
json 0.148 KB 1.73x
Jason 6.88 KB 80.09x
Thoas 6.81 KB 79.27x
jsone 25.35 KB 295.0x
JSX 42.37 KB 493.0x
Tiny 335.45 KB 3903.45x

Reduction Count

Name Average Factor
jiffy 0.00300 K  
Poison 7.54 K 2511.67x
json 16.37 K 5457.33x
Jason 8.45 K 2816.33x
Thoas 8.43 K 2811.33x
jsone 8.10 K 2698.67x
JSX 9.71 K 3235.33x
Tiny 21.11 K 7038.0x

Encode

Benchmark run from 2024-06-06 13:42:33.076733Z UTC

System

Benchmark suite executing on the following system:

Operating System Linux
CPU Information Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz
Number of Available Cores 8
Available Memory 15.33 GB
Elixir Version 1.17.0-rc.1
Erlang Version 27.0

Configuration

Benchmark suite executing with the following configuration:

:time 10 s
:parallel 4
:warmup 1 s

Statistics

Input: Benchee

Run Time

Name IPS Average Devitation Median 99th %
jiffy 247.15 4.05 ms ±26.23% 3.45 ms 7.76 ms
Jason 115.65 8.65 ms ±21.35% 8.54 ms 14.05 ms
Tiny 108.25 9.24 ms ±18.43% 8.60 ms 14.32 ms
json 88.88 11.25 ms ±22.75% 11.74 ms 16.73 ms
Poison 79.55 12.57 ms ±15.19% 12.40 ms 17.43 ms
Thoas 63.42 15.77 ms ±30.93% 15.87 ms 27.25 ms
jsone 45.67 21.90 ms ±10.51% 21.88 ms 27.04 ms
JSX 11.74 85.20 ms ±15.69% 82.43 ms 111.36 ms

Run Time Comparison

Name IPS Slower
jiffy 247.15  
Jason 115.65 2.14x
Tiny 108.25 2.28x
json 88.88 2.78x
Poison 79.55 3.11x
Thoas 63.42 3.9x
jsone 45.67 5.41x
JSX 11.74 21.06x

Memory Usage

Name Average Factor
jiffy 0.0374 MB  
Jason 5.68 MB 152.1x
Tiny 7.31 MB 195.67x
json 5.69 MB 152.12x
Poison 5.69 MB 152.25x
Thoas 13.23 MB 354.09x
jsone 14.62 MB 391.05x
JSX 43.10 MB 1153.19x

Reduction Count

Name Average Factor
jiffy 81.95 K  
Jason 541.66 K 6.61x
Tiny 1529.64 K 18.67x
json 547.78 K 6.68x
Poison 977.70 K 11.93x
Thoas 601.88 K 7.34x
jsone 788.73 K 9.62x
JSX 2648.81 K 32.32x

Input: Blockchain

Run Time

Name IPS Average Devitation Median 99th %
json 22.21 K 45.03 µs ±11.19% 43.64 µs 59.77 µs
jiffy 21.50 K 46.51 µs ±10.71% 45.39 µs 60.98 µs
Jason 15.85 K 63.09 µs ±14.56% 59.58 µs 83.14 µs
Tiny 10.40 K 96.14 µs ±9.39% 98.09 µs 110.57 µs
Poison 10.05 K 99.47 µs ±14.28% 99.07 µs 145.79 µs
Thoas 10.01 K 99.92 µs ±12.16% 103.21 µs 119.35 µs
jsone 9.13 K 109.59 µs ±13.58% 105.26 µs 178.38 µs
JSX 2.20 K 454.89 µs ±17.83% 432.67 µs 798.80 µs

Run Time Comparison

Name IPS Slower
json 22.21 K  
jiffy 21.50 K 1.03x
Jason 15.85 K 1.4x
Tiny 10.40 K 2.13x
Poison 10.05 K 2.21x
Thoas 10.01 K 2.22x
jsone 9.13 K 2.43x
JSX 2.20 K 10.1x

Memory Usage

Name Average Factor
json 82.66 KB  
jiffy 7.79 KB 0.09x
Jason 78.32 KB 0.95x
Tiny 151.78 KB 1.84x
Poison 142.65 KB 1.73x
Thoas 89.41 KB 1.08x
jsone 178.56 KB 2.16x
JSX 395.88 KB 4.79x

Reduction Count

Name Average Factor
json 8.74 K  
jiffy 1.77 K 0.2x
Jason 15.62 K 1.79x
Tiny 26.27 K 3.01x
Poison 16.43 K 1.88x
Thoas 15.63 K 1.79x
jsone 17.89 K 2.05x
JSX 37.51 K 4.29x

Input: GeoJSON

Run Time

Name IPS Average Devitation Median 99th %
jiffy 21.58 46.34 ms ±5.18% 45.79 ms 60.73 ms
Thoas 17.18 58.20 ms ±25.02% 58.92 ms 85.81 ms
json 15.83 63.16 ms ±22.79% 63.92 ms 90.46 ms
Jason 15.39 64.96 ms ±21.67% 65.11 ms 93.73 ms
Poison 9.20 108.65 ms ±24.63% 105.77 ms 157.74 ms
Tiny 8.05 124.22 ms ±50.93% 89.05 ms 221.31 ms
jsone 3.04 329.46 ms ±11.54% 317.17 ms 434.17 ms
JSX 0.53 1872.72 ms ±4.10% 1860.05 ms 2054.82 ms

Run Time Comparison

Name IPS Slower
jiffy 21.58  
Thoas 17.18 1.26x
json 15.83 1.36x
Jason 15.39 1.4x
Poison 9.20 2.34x
Tiny 8.05 2.68x
jsone 3.04 7.11x
JSX 0.53 40.41x

Memory Usage

Name Average Factor
jiffy 0.27 MB  
Thoas 23.99 MB 88.29x
json 23.95 MB 88.17x
Jason 23.91 MB 88.02x
Poison 33.82 MB 124.48x
Tiny 31.49 MB 115.9x
jsone 68.58 MB 252.44x
JSX 508.17 MB 1870.5x

Reduction Count

Name Average Factor
jiffy 0.35 M  
Thoas 2.50 M 7.08x
json 2.81 M 7.97x
Jason 2.49 M 7.06x
Poison 5.62 M 15.94x
Tiny 5.74 M 16.27x
jsone 3.69 M 10.46x
JSX 43.06 M 122.07x

Input: Giphy

Run Time

Name IPS Average Devitation Median 99th %
jiffy 1899.77 0.53 ms ±27.20% 0.47 ms 1.09 ms
json 1087.75 0.92 ms ±26.85% 0.86 ms 1.70 ms
Jason 697.08 1.43 ms ±30.84% 1.39 ms 2.61 ms
Thoas 605.74 1.65 ms ±30.25% 1.61 ms 2.92 ms
Poison 411.62 2.43 ms ±21.27% 2.41 ms 3.57 ms
jsone 390.13 2.56 ms ±11.52% 2.54 ms 4.46 ms
Tiny 378.33 2.64 ms ±15.58% 2.62 ms 3.65 ms
JSX 93.40 10.71 ms ±10.81% 10.44 ms 14.28 ms

Run Time Comparison

Name IPS Slower
jiffy 1899.77  
json 1087.75 1.75x
Jason 697.08 2.73x
Thoas 605.74 3.14x
Poison 411.62 4.62x
jsone 390.13 4.87x
Tiny 378.33 5.02x
JSX 93.40 20.34x

Memory Usage

Name Average Factor
jiffy 0.159 MB  
json 0.85 MB 5.35x
Jason 0.84 MB 5.28x
Thoas 0.84 MB 5.28x
Poison 1.64 MB 10.31x
jsone 2.19 MB 13.72x
Tiny 1.68 MB 10.54x
JSX 4.84 MB 30.39x

Reduction Count

Name Average Factor
jiffy 7.99 K  
json 87.73 K 10.98x
Jason 157.97 K 19.77x
Thoas 157.97 K 19.77x
Poison 150.47 K 18.83x
jsone 179.13 K 22.42x
Tiny 232.28 K 29.07x
JSX 380.98 K 47.68x

Input: GitHub

Run Time

Name IPS Average Devitation Median 99th %
jiffy 5.46 K 183.31 µs ±51.98% 152.06 µs 638.82 µs
json 3.41 K 293.51 µs ±37.88% 292.21 µs 583.87 µs
Jason 2.85 K 351.26 µs ±40.47% 351.97 µs 809.35 µs
Thoas 2.26 K 442.23 µs ±27.89% 442.66 µs 796.85 µs
Tiny 2.11 K 474.87 µs ±30.32% 428.74 µs 920.44 µs
Poison 1.88 K 531.93 µs ±27.40% 530.05 µs 957.38 µs
jsone 1.41 K 710.57 µs ±13.28% 705.57 µs 941.42 µs
JSX 0.45 K 2242.07 µs ±10.58% 2313.74 µs 2626.33 µs

Run Time Comparison

Name IPS Slower
jiffy 5.46 K  
json 3.41 K 1.6x
Jason 2.85 K 1.92x
Thoas 2.26 K 2.41x
Tiny 2.11 K 2.59x
Poison 1.88 K 2.9x
jsone 1.41 K 3.88x
JSX 0.45 K 12.23x

Memory Usage

Name Average Factor
jiffy 43.22 KB  
json 226.95 KB 5.25x
Jason 221.14 KB 5.12x
Thoas 228.15 KB 5.28x
Tiny 447.98 KB 10.37x
Poison 431.73 KB 9.99x
jsone 682.08 KB 15.78x
JSX 1410.47 KB 32.64x

Reduction Count

Name Average Factor
jiffy 3.60 K  
json 24.25 K 6.74x
Jason 55.76 K 15.5x
Thoas 55.96 K 15.56x
Tiny 80.48 K 22.38x
Poison 50.42 K 14.02x
jsone 64.30 K 17.88x
JSX 128.12 K 35.62x

Input: GovTrack

Run Time

Name IPS Average Devitation Median 99th %
jiffy 46.67 21.43 ms ±16.11% 20.97 ms 31.63 ms
Jason 23.71 42.18 ms ±31.13% 44.57 ms 69.71 ms
json 22.24 44.97 ms ±40.67% 42.97 ms 96.93 ms
Thoas 16.84 59.39 ms ±45.21% 53.82 ms 136.09 ms
Tiny 13.94 71.74 ms ±34.45% 62.37 ms 126.83 ms
jsone 7.38 135.49 ms ±6.43% 134.71 ms 157.02 ms
Poison 7.28 137.29 ms ±12.46% 139.68 ms 160.56 ms
JSX 2.59 386.67 ms ±5.19% 387.18 ms 432.35 ms

Run Time Comparison

Name IPS Slower
jiffy 46.67  
Jason 23.71 1.97x
json 22.24 2.1x
Thoas 16.84 2.77x
Tiny 13.94 3.35x
jsone 7.38 6.32x
Poison 7.28 6.41x
JSX 2.59 18.05x

Memory Usage

Name Average Factor
jiffy 3.29 MB  
Jason 18.90 MB 5.75x
json 19.95 MB 6.07x
Thoas 20.67 MB 6.29x
Tiny 36.99 MB 11.25x
jsone 45.34 MB 13.79x
Poison 35.61 MB 10.83x
JSX 94.17 MB 28.64x

Reduction Count

Name Average Factor
jiffy 0.33 M  
Jason 3.89 M 11.65x
json 2.22 M 6.64x
Thoas 3.98 M 11.92x
Tiny 5.93 M 17.76x
jsone 4.49 M 13.44x
Poison 3.75 M 11.23x
JSX 8.94 M 26.74x

Input: Issue 90

Run Time

Name IPS Average Devitation Median 99th %
json 69.45 14.40 ms ±8.41% 14.31 ms 17.54 ms
jiffy 58.45 17.11 ms ±1.58% 17.13 ms 17.81 ms
Poison 41.54 24.07 ms ±11.62% 23.44 ms 31.57 ms
Jason 40.84 24.49 ms ±5.60% 24.31 ms 27.05 ms
Tiny 38.41 26.04 ms ±8.00% 25.57 ms 28.49 ms
jsone 28.99 34.50 ms ±1.17% 34.41 ms 36.48 ms
Thoas 23.06 43.37 ms ±2.41% 43.28 ms 47.63 ms
JSX 8.35 119.77 ms ±0.75% 119.78 ms 122.32 ms

Run Time Comparison

Name IPS Slower
json 69.45  
jiffy 58.45 1.19x
Poison 41.54 1.67x
Jason 40.84 1.7x
Tiny 38.41 1.81x
jsone 28.99 2.4x
Thoas 23.06 3.01x
JSX 8.35 8.32x

Memory Usage

Name Average Factor
json 0.82 MB  
jiffy 0.0125 MB 0.02x
Poison 1.47 MB 1.8x
Jason 0.81 MB 0.99x
Tiny 1.47 MB 1.8x
jsone 2.64 MB 3.23x
Thoas 0.82 MB 1.01x
JSX 4.56 MB 5.58x

Reduction Count

Name Average Factor
json 1.17 M  
jiffy 0.0637 M 0.05x
Poison 4.13 M 3.53x
Jason 8.19 M 7.01x
Tiny 8.23 M 7.05x
jsone 8.13 M 6.97x
Thoas 8.19 M 7.01x
JSX 9.15 M 7.84x

Input: JSON Generator

Run Time

Name IPS Average Devitation Median 99th %
jiffy 1836.47 0.54 ms ±15.17% 0.51 ms 0.72 ms
json 1073.55 0.93 ms ±24.25% 0.88 ms 1.49 ms
Jason 806.37 1.24 ms ±32.62% 1.28 ms 2.05 ms
Thoas 699.93 1.43 ms ±27.81% 1.49 ms 2.23 ms
jsone 526.15 1.90 ms ±8.96% 1.90 ms 2.22 ms
Poison 470.11 2.13 ms ±18.43% 2.07 ms 3.15 ms
Tiny 447.73 2.23 ms ±18.29% 2.20 ms 3.20 ms
JSX 141.42 7.07 ms ±11.37% 6.98 ms 9.13 ms

Run Time Comparison

Name IPS Slower
jiffy 1836.47  
json 1073.55 1.71x
Jason 806.37 2.28x
Thoas 699.93 2.62x
jsone 526.15 3.49x
Poison 470.11 3.91x
Tiny 447.73 4.1x
JSX 141.42 12.99x

Memory Usage

Name Average Factor
jiffy 0.107 MB  
json 0.77 MB 7.2x
Jason 0.76 MB 7.13x
Thoas 0.75 MB 7.05x
jsone 1.67 MB 15.7x
Poison 1.41 MB 13.24x
Tiny 1.45 MB 13.56x
JSX 3.51 MB 32.9x

Reduction Count

Name Average Factor
jiffy 8.74 K  
json 78.36 K 8.97x
Jason 146.27 K 16.74x
Thoas 144.79 K 16.57x
jsone 161.87 K 18.52x
Poison 147.73 K 16.91x
Tiny 221.43 K 25.34x
JSX 343.63 K 39.32x

Input: Pokedex

Run Time

Name IPS Average Devitation Median 99th %
jiffy 3.11 K 321.74 µs ±11.90% 318.02 µs 447.61 µs
json 2.72 K 368.16 µs ±25.07% 340.66 µs 880.20 µs
Thoas 1.72 K 582.56 µs ±38.96% 451.38 µs 1363.31 µs
Jason 1.63 K 615.18 µs ±41.75% 504.89 µs 1354.94 µs
jsone 1.11 K 897.43 µs ±15.63% 819.86 µs 1308.31 µs
Tiny 1.01 K 993.63 µs ±27.65% 882.44 µs 1780.38 µs
Poison 0.90 K 1108.03 µs ±23.73% 1023.79 µs 1882.91 µs
JSX 0.27 K 3772.45 µs ±16.14% 3559.18 µs 5720.60 µs

Run Time Comparison

Name IPS Slower
jiffy 3.11 K  
json 2.72 K 1.14x
Thoas 1.72 K 1.81x
Jason 1.63 K 1.91x
jsone 1.11 K 2.79x
Tiny 1.01 K 3.09x
Poison 0.90 K 3.44x
JSX 0.27 K 11.73x

Memory Usage

Name Average Factor
jiffy 0.0508 MB  
json 0.65 MB 12.84x
Thoas 0.65 MB 12.9x
Jason 0.64 MB 12.68x
jsone 1.46 MB 28.7x
Tiny 1.23 MB 24.22x
Poison 1.22 MB 24.02x
JSX 3.42 MB 67.29x

Reduction Count

Name Average Factor
jiffy 5.67 K  
json 72.08 K 12.7x
Thoas 84.49 K 14.89x
Jason 84.14 K 14.83x
jsone 102.50 K 18.06x
Tiny 150.11 K 26.46x
Poison 113.08 K 19.93x
JSX 281.98 K 49.7x

Input: Reddit

Run Time

Name IPS Average Devitation Median 99th %
jiffy 1641.36 0.61 ms ±20.54% 0.57 ms 0.93 ms
json 869.98 1.15 ms ±27.80% 1.14 ms 1.97 ms
Jason 748.67 1.34 ms ±32.59% 1.39 ms 2.19 ms
Thoas 627.24 1.59 ms ±23.93% 1.59 ms 2.58 ms
Poison 403.43 2.48 ms ±20.12% 2.41 ms 3.93 ms
jsone 394.22 2.54 ms ±9.35% 2.57 ms 2.87 ms
Tiny 362.19 2.76 ms ±20.12% 2.74 ms 4.10 ms
JSX 101.87 9.82 ms ±10.39% 9.80 ms 12.14 ms

Run Time Comparison

Name IPS Slower
jiffy 1641.36  
json 869.98 1.89x
Jason 748.67 2.19x
Thoas 627.24 2.62x
Poison 403.43 4.07x
jsone 394.22 4.16x
Tiny 362.19 4.53x
JSX 101.87 16.11x

Memory Usage

Name Average Factor
jiffy 0.169 MB  
json 0.85 MB 5.03x
Jason 0.76 MB 4.46x
Thoas 0.85 MB 4.99x
Poison 1.37 MB 8.08x
jsone 1.98 MB 11.66x
Tiny 1.49 MB 8.8x
JSX 4.39 MB 25.93x

Reduction Count

Name Average Factor
jiffy 8.91 K  
json 96.93 K 10.88x
Jason 155.39 K 17.44x
Thoas 168.53 K 18.92x
Poison 144.48 K 16.22x
jsone 184.96 K 20.76x
Tiny 244.13 K 27.4x
JSX 360.85 K 40.5x

Input: UTF-8 escaped

Run Time

Name IPS Average Devitation Median 99th %
Poison 21.92 K 45.63 µs ±9.38% 44.83 µs 56.24 µs
jiffy 19.37 K 51.62 µs ±14.17% 50.50 µs 68.98 µs
Jason 12.58 K 79.49 µs ±6.94% 78.71 µs 91.54 µs
json 12.54 K 79.76 µs ±6.61% 78.56 µs 97.64 µs
Thoas 11.48 K 87.13 µs ±6.79% 86.04 µs 99.75 µs
JSX 7.32 K 136.55 µs ±3.87% 135.22 µs 150.05 µs
jsone 6.26 K 159.70 µs ±16.76% 151.75 µs 296.09 µs
Tiny 2.15 K 464.79 µs ±22.23% 510.27 µs 729.22 µs

Run Time Comparison

Name IPS Slower
Poison 21.92 K  
jiffy 19.37 K 1.13x
Jason 12.58 K 1.74x
json 12.54 K 1.75x
Thoas 11.48 K 1.91x
JSX 7.32 K 2.99x
jsone 6.26 K 3.5x
Tiny 2.15 K 10.19x

Memory Usage

Name Average Factor
Poison 15.81 KB  
jiffy 0.79 KB 0.05x
Jason 6.87 KB 0.43x
json 6.80 KB 0.43x
Thoas 6.82 KB 0.43x
JSX 49.81 KB 3.15x
jsone 210.55 KB 13.32x
Tiny 561.51 KB 35.51x

Reduction Count

Name Average Factor
Poison 8.21 K  
jiffy 0.00700 K 0.0x
Jason 8.57 K 1.04x
json 16.54 K 2.01x
Thoas 8.56 K 1.04x
JSX 11.82 K 1.44x
jsone 9.85 K 1.2x
Tiny 48.90 K 5.95x

Input: UTF-8 unescaped

Run Time

Name IPS Average Devitation Median 99th %
Poison 22.78 K 43.91 µs ±8.90% 43.20 µs 54.32 µs
jiffy 18.98 K 52.68 µs ±24.96% 51.64 µs 68.30 µs
json 13.18 K 75.88 µs ±8.08% 74.81 µs 93.36 µs
Jason 12.88 K 77.61 µs ±4.86% 76.87 µs 89.34 µs
Thoas 12.11 K 82.56 µs ±12.47% 81.53 µs 94.96 µs
JSX 7.64 K 130.97 µs ±4.18% 130.17 µs 143.73 µs
jsone 6.39 K 156.42 µs ±16.81% 148.95 µs 291.43 µs
Tiny 2.17 K 461.66 µs ±21.87% 506.82 µs 720.07 µs

Run Time Comparison

Name IPS Slower
Poison 22.78 K  
jiffy 18.98 K 1.2x
json 13.18 K 1.73x
Jason 12.88 K 1.77x
Thoas 12.11 K 1.88x
JSX 7.64 K 2.98x
jsone 6.39 K 3.56x
Tiny 2.17 K 10.51x

Memory Usage

Name Average Factor
Poison 13.82 KB  
jiffy 0.78 KB 0.06x
json 5.96 KB 0.43x
Jason 6.02 KB 0.44x
Thoas 5.98 KB 0.43x
JSX 41.13 KB 2.98x
jsone 207.58 KB 15.02x
Tiny 559.49 KB 40.48x

Reduction Count

Name Average Factor
Poison 8.06 K  
jiffy 0.00700 K 0.0x
json 16.38 K 2.03x
Jason 8.32 K 1.03x
Thoas 8.31 K 1.03x
JSX 11.32 K 1.4x
jsone 9.52 K 1.18x
Tiny 45.09 K 5.6x
@spscream
Copy link

hi, could you also check jsonrs? interesting comparsion :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment