Skip to content

Instantly share code, notes, and snippets.

@michalmuskala
Created October 16, 2022 20:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save michalmuskala/814c2fb9dcb3337c6de8ec24a7dad744 to your computer and use it in GitHub Desktop.
Save michalmuskala/814c2fb9dcb3337c6de8ec24a7dad744 to your computer and use it in GitHub Desktop.
Operating System: macOS
CPU Information: Apple M1 Max
Number of Available Cores: 10
Available memory: 32 GB
Elixir 1.14.1
Erlang 25.1.1
Benchmark suite executing with the following configuration:
warmup: 2 s
time: 15 s
memory time: 10 ms
reduction time: 10 ms
parallel: 1
inputs: Blockchain, Canada, Giphy, GitHub, GovTrack, Issue 90, JSON Generator, Pokedex, UTF-8 unescaped
Estimated total run time: 10.21 min
##### With input Blockchain #####
Name ips average deviation median 99th %
jiffy 15.53 K 64.39 μs ±375.43% 49.33 μs 66.13 μs
Jason native 12.95 K 77.22 μs ±522.12% 26.42 μs 3185.95 μs
Jason 7.36 K 135.78 μs ±322.57% 73.42 μs 3244.24 μs
Poison 3.53 K 283.66 μs ±244.45% 128.13 μs 3388.14 μs
Comparison:
jiffy 15.53 K
Jason native 12.95 K - 1.20x slower +12.83 μs
Jason 7.36 K - 2.11x slower +71.40 μs
Poison 3.53 K - 4.41x slower +219.28 μs
Memory usage statistics:
Name Memory usage
jiffy 8.03 KB
Jason native 51.09 KB - 6.36x memory usage +43.06 KB
Jason 79.08 KB - 9.85x memory usage +71.05 KB
Poison 143.98 KB - 17.93x memory usage +135.95 KB
**All measurements for memory usage were the same**
Reduction count statistics:
Name Reduction count
jiffy 1.76 K
Jason native 24.45 K - 13.87x reduction count +22.69 K
Jason 16.10 K - 9.13x reduction count +14.33 K
Poison 17.17 K - 9.74x reduction count +15.41 K
**All measurements for reduction count were the same**
##### With input Canada #####
Name ips average deviation median 99th %
jiffy 67.48 14.82 ms ±2.60% 14.78 ms 15.47 ms
Jason 62.24 16.07 ms ±36.88% 16.48 ms 23.06 ms
Jason native 61.14 16.36 ms ±33.21% 20.19 ms 23.23 ms
Poison 12.79 78.19 ms ±10.98% 80.85 ms 98.29 ms
Comparison:
jiffy 67.48
Jason 62.24 - 1.08x slower +1.25 ms
Jason native 61.14 - 1.10x slower +1.54 ms
Poison 12.79 - 5.28x slower +63.37 ms
Memory usage statistics:
Name Memory usage
jiffy 0.0852 MB
Jason 9.22 MB - 108.31x memory usage +9.14 MB
Jason native 9.22 MB - 108.30x memory usage +9.14 MB
Poison 41.98 MB - 492.93x memory usage +41.90 MB
**All measurements for memory usage were the same**
Reduction count statistics:
Name Reduction count
jiffy 220.03 K
Jason 847.57 K - 3.85x reduction count +627.54 K
Jason native 855.19 K - 3.89x reduction count +635.16 K
Poison 3062.12 K - 13.92x reduction count +2842.09 K
**All measurements for reduction count were the same**
##### With input Giphy #####
Name ips average deviation median 99th %
Jason native 1.76 K 0.57 ms ±185.57% 0.25 ms 3.46 ms
jiffy 1.61 K 0.62 ms ±99.82% 0.51 ms 3.98 ms
Jason 0.71 K 1.42 ms ±95.33% 0.71 ms 4.80 ms
Poison 0.26 K 3.86 ms ±51.49% 4.79 ms 11.62 ms
Comparison:
Jason native 1.76 K
jiffy 1.61 K - 1.09x slower +0.0538 ms
Jason 0.71 K - 2.50x slower +0.85 ms
Poison 0.26 K - 6.81x slower +3.30 ms
Memory usage statistics:
Name Memory usage
Jason native 483.54 KB
jiffy 116.75 KB - 0.24x memory usage -366.78906 KB
Jason 861.69 KB - 1.78x memory usage +378.15 KB
Poison 1692.02 KB - 3.50x memory usage +1208.48 KB
**All measurements for memory usage were the same**
Reduction count statistics:
Name Reduction count
Jason native 312.71 K
jiffy 11.83 K - 0.04x reduction count -300.88100 K
Jason 147.23 K - 0.47x reduction count -165.48800 K
Poison 162.28 K - 0.52x reduction count -150.43400 K
**All measurements for reduction count were the same**
##### With input GitHub #####
Name ips average deviation median 99th %
Jason native 6.20 K 161.18 μs ±313.97% 76.54 μs 3302.62 μs
jiffy 4.51 K 221.77 μs ±173.74% 183.21 μs 612.62 μs
Jason 2.27 K 439.81 μs ±164.81% 264.63 μs 3454.46 μs
Poison 1.03 K 970.28 μs ±123.20% 511.79 μs 3789.00 μs
Comparison:
Jason native 6.20 K
jiffy 4.51 K - 1.38x slower +60.59 μs
Jason 2.27 K - 2.73x slower +278.63 μs
Poison 1.03 K - 6.02x slower +809.09 μs
Memory usage statistics:
Name Memory usage
Jason native 127.63 KB
jiffy 42.85 KB - 0.34x memory usage -84.77344 KB
Jason 221.31 KB - 1.73x memory usage +93.69 KB
Poison 433.55 KB - 3.40x memory usage +305.93 KB
**All measurements for memory usage were the same**
Reduction count statistics:
Name Reduction count
Jason native 80.15 K
jiffy 4.71 K - 0.06x reduction count -75.43300 K
Jason 56.12 K - 0.70x reduction count -24.02600 K
Poison 52.20 K - 0.65x reduction count -27.94700 K
**All measurements for reduction count were the same**
##### With input GovTrack #####
Name ips average deviation median 99th %
jiffy 70.12 14.26 ms ±5.50% 14.12 ms 19.28 ms
Jason native 54.17 18.46 ms ±36.10% 16.96 ms 31.00 ms
Jason 34.33 29.13 ms ±31.56% 28.02 ms 44.88 ms
Poison 11.68 85.64 ms ±12.01% 87.73 ms 100.50 ms
Comparison:
jiffy 70.12
Jason native 54.17 - 1.29x slower +4.20 ms
Jason 34.33 - 2.04x slower +14.87 ms
Poison 11.68 - 6.00x slower +71.38 ms
Memory usage statistics:
Name Memory usage
jiffy 3.30 MB
Jason native 11.17 MB - 3.38x memory usage +7.87 MB
Jason 18.90 MB - 5.72x memory usage +15.60 MB
Poison 35.82 MB - 10.84x memory usage +32.52 MB
**All measurements for memory usage were the same**
Reduction count statistics:
Name Reduction count
jiffy 0.33 M
Jason native 6.61 M - 19.92x reduction count +6.28 M
Jason 3.82 M - 11.51x reduction count +3.49 M
Poison 3.80 M - 11.44x reduction count +3.46 M
**All measurements for reduction count were the same**
##### With input Issue 90 #####
Name ips average deviation median 99th %
Jason native 207.54 4.82 ms ±5.91% 4.81 ms 4.95 ms
jiffy 36.47 27.42 ms ±0.95% 27.40 ms 28.08 ms
Poison 26.28 38.05 ms ±1.69% 38.06 ms 40.46 ms
Jason 25.79 38.77 ms ±5.17% 39.21 ms 41.87 ms
Comparison:
Jason native 207.54
jiffy 36.47 - 5.69x slower +22.60 ms
Poison 26.28 - 7.90x slower +33.23 ms
Jason 25.79 - 8.05x slower +33.95 ms
Memory usage statistics:
Name Memory usage
Jason native 47.23 KB
jiffy 12.75 KB - 0.27x memory usage -34.48438 KB
Poison 1510.96 KB - 31.99x memory usage +1463.73 KB
Jason 833.14 KB - 17.64x memory usage +785.91 KB
**All measurements for memory usage were the same**
Reduction count statistics:
Name Reduction count
Jason native 0.0562 M
jiffy 0.0637 M - 1.13x reduction count +0.00752 M
Poison 4.16 M - 74.06x reduction count +4.11 M
Jason 8.18 M - 145.48x reduction count +8.12 M
**All measurements for reduction count were the same**
##### With input JSON Generator #####
Name ips average deviation median 99th %
Jason native 1.83 K 0.55 ms ±164.39% 0.25 ms 3.44 ms
jiffy 1.63 K 0.62 ms ±103.39% 0.51 ms 4.10 ms
Jason 0.79 K 1.27 ms ±97.16% 0.67 ms 3.96 ms
Poison 0.34 K 2.93 ms ±55.83% 4.20 ms 4.91 ms
Comparison:
Jason native 1.83 K
jiffy 1.63 K - 1.13x slower +0.0690 ms
Jason 0.79 K - 2.33x slower +0.73 ms
Poison 0.34 K - 5.36x slower +2.38 ms
Memory usage statistics:
Name Memory usage
Jason native 476.66 KB
jiffy 110.68 KB - 0.23x memory usage -365.98438 KB
Jason 778.34 KB - 1.63x memory usage +301.68 KB
Poison 1457.11 KB - 3.06x memory usage +980.45 KB
**All measurements for memory usage were the same**
Reduction count statistics:
Name Reduction count
Jason native 257.90 K
jiffy 11.99 K - 0.05x reduction count -245.90900 K
Jason 139.75 K - 0.54x reduction count -118.15700 K
Poison 158.32 K - 0.61x reduction count -99.58500 K
**All measurements for reduction count were the same**
##### With input Pokedex #####
Name ips average deviation median 99th %
jiffy 2.52 K 397.17 μs ±144.31% 315.79 μs 3816.96 μs
Jason native 2.24 K 446.45 μs ±190.19% 191.84 μs 3405.35 μs
Jason 1.15 K 869.87 μs ±128.54% 395.54 μs 3744.51 μs
Poison 0.43 K 2343.85 μs ±69.08% 1021.71 μs 4445.09 μs
Comparison:
jiffy 2.52 K
Jason native 2.24 K - 1.12x slower +49.28 μs
Jason 1.15 K - 2.19x slower +472.71 μs
Poison 0.43 K - 5.90x slower +1946.69 μs
Memory usage statistics:
Name Memory usage
jiffy 51.82 KB
Jason native 389.86 KB - 7.52x memory usage +338.04 KB
Jason 659.13 KB - 12.72x memory usage +607.31 KB
Poison 1283.05 KB - 24.76x memory usage +1231.23 KB
**All measurements for memory usage were the same**
Reduction count statistics:
Name Reduction count
jiffy 5.67 K
Jason native 231.71 K - 40.84x reduction count +226.04 K
Jason 81.24 K - 14.32x reduction count +75.57 K
Poison 123.19 K - 21.71x reduction count +117.51 K
**All measurements for reduction count were the same**
##### With input UTF-8 unescaped #####
Name ips average deviation median 99th %
Jason native 58.12 K 17.21 μs ±95.15% 16.96 μs 20.17 μs
jiffy 17.89 K 55.89 μs ±46.51% 54.92 μs 77.13 μs
Jason 11.49 K 87.03 μs ±169.40% 80.63 μs 91.63 μs
Poison 10.89 K 91.84 μs ±246.76% 76.83 μs 94.50 μs
Comparison:
Jason native 58.12 K
jiffy 17.89 K - 3.25x slower +38.68 μs
Jason 11.49 K - 5.06x slower +69.82 μs
Poison 10.89 K - 5.34x slower +74.63 μs
Memory usage statistics:
Name Memory usage
Jason native 0.34 KB
jiffy 0.70 KB - 2.07x memory usage +0.36 KB
Jason 6.20 KB - 18.44x memory usage +5.86 KB
Poison 13.87 KB - 41.28x memory usage +13.53 KB
**All measurements for memory usage were the same**
Reduction count statistics:
Name Reduction count
Jason native 0.54 K
jiffy 0.00600 K - 0.01x reduction count -0.53300 K
Jason 8.27 K - 15.33x reduction count +7.73 K
Poison 8.11 K - 15.04x reduction count +7.57 K
**All measurements for reduction count were the same**
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment