snuba icon indicating copy to clipboard operation
snuba copied to clipboard

perf: replace serde_json with simd_json

Open anonrig opened this issue 2 years ago • 1 comments

Small experiment. Please run the benchmarks locally to validate.

Before

Timer precision: 41 ns
processors    fastest       │ slowest       │ median        │ mean          │ samples │ iters
├─ functions                │               │               │               │         │
│  ├─ 1       26.23 ms      │ 53.19 ms      │ 27.16 ms      │ 27.68 ms      │ 100     │ 100
│  │          190.5 Kitem/s │ 94 Kitem/s    │ 184 Kitem/s   │ 180.6 Kitem/s │         │
│  ├─ 4       17.92 ms      │ 21.88 ms      │ 18.82 ms      │ 19.02 ms      │ 100     │ 100
│  │          278.9 Kitem/s │ 228.5 Kitem/s │ 265.6 Kitem/s │ 262.8 Kitem/s │         │
│  ╰─ 16      13.14 ms      │ 35.18 ms      │ 14 ms         │ 14.35 ms      │ 100     │ 100
│             380.2 Kitem/s │ 142.1 Kitem/s │ 357 Kitem/s   │ 348.3 Kitem/s │         │
├─ profiles                 │               │               │               │         │
│  ├─ 1       21.15 ms      │ 28.93 ms      │ 22.49 ms      │ 22.65 ms      │ 100     │ 100
│  │          236.3 Kitem/s │ 172.7 Kitem/s │ 222.2 Kitem/s │ 220.6 Kitem/s │         │
│  ├─ 4       15.41 ms      │ 19.49 ms      │ 16.25 ms      │ 16.57 ms      │ 100     │ 100
│  │          324.3 Kitem/s │ 256.4 Kitem/s │ 307.6 Kitem/s │ 301.7 Kitem/s │         │
│  ╰─ 16      12.16 ms      │ 14.51 ms      │ 13.23 ms      │ 13.27 ms      │ 100     │ 100
│             411.1 Kitem/s │ 344.3 Kitem/s │ 377.8 Kitem/s │ 376.5 Kitem/s │         │
├─ querylog                 │               │               │               │         │
│  ├─ 1       66.67 ms      │ 105.3 ms      │ 69.26 ms      │ 70.73 ms      │ 100     │ 100
│  │          74.98 Kitem/s │ 47.47 Kitem/s │ 72.18 Kitem/s │ 70.68 Kitem/s │         │
│  ├─ 4       38.92 ms      │ 48.5 ms       │ 43.86 ms      │ 43.7 ms       │ 100     │ 100
│  │          128.4 Kitem/s │ 103 Kitem/s   │ 113.9 Kitem/s │ 114.4 Kitem/s │         │
│  ╰─ 16      28.76 ms      │ 32.72 ms      │ 30.17 ms      │ 30.17 ms      │ 100     │ 100
│             173.8 Kitem/s │ 152.7 Kitem/s │ 165.7 Kitem/s │ 165.7 Kitem/s │         │
╰─ spans                    │               │               │               │         │
   ├─ 1       33.43 ms      │ 45.9 ms       │ 34.77 ms      │ 35.24 ms      │ 100     │ 100
   │          149.5 Kitem/s │ 108.9 Kitem/s │ 143.7 Kitem/s │ 141.8 Kitem/s │         │
   ├─ 4       23.51 ms      │ 29.26 ms      │ 26.88 ms      │ 26.73 ms      │ 100     │ 100
   │          212.5 Kitem/s │ 170.8 Kitem/s │ 185.9 Kitem/s │ 187 Kitem/s   │         │
   ╰─ 16      16.27 ms      │ 18.79 ms      │ 17.12 ms      │ 17.18 ms      │ 100     │ 100
              307.2 Kitem/s │ 266 Kitem/s   │ 291.9 Kitem/s │ 290.9 Kitem/s │         │

After

Timer precision: 41 ns
processors    fastest       │ slowest       │ median        │ mean          │ samples │ iters
├─ functions                │               │               │               │         │
│  ├─ 1       26.83 ms      │ 50.89 ms      │ 27.5 ms       │ 28.05 ms      │ 100     │ 100
│  │          186.3 Kitem/s │ 98.24 Kitem/s │ 181.7 Kitem/s │ 178.1 Kitem/s │         │
│  ├─ 4       17.73 ms      │ 21.64 ms      │ 18.66 ms      │ 18.94 ms      │ 100     │ 100
│  │          282 Kitem/s   │ 231 Kitem/s   │ 267.9 Kitem/s │ 263.9 Kitem/s │         │
│  ╰─ 16      13.6 ms       │ 15.3 ms       │ 14.46 ms      │ 14.45 ms      │ 100     │ 100
│             367.4 Kitem/s │ 326.7 Kitem/s │ 345.6 Kitem/s │ 346 Kitem/s   │         │
├─ profiles                 │               │               │               │         │
│  ├─ 1       22.11 ms      │ 29.48 ms      │ 22.75 ms      │ 23.14 ms      │ 100     │ 100
│  │          226.1 Kitem/s │ 169.5 Kitem/s │ 219.6 Kitem/s │ 216 Kitem/s   │         │
│  ├─ 4       15.2 ms       │ 22.29 ms      │ 16.25 ms      │ 16.66 ms      │ 100     │ 100
│  │          328.7 Kitem/s │ 224.2 Kitem/s │ 307.5 Kitem/s │ 300 Kitem/s   │         │
│  ╰─ 16      12.36 ms      │ 32.82 ms      │ 13.63 ms      │ 14.08 ms      │ 100     │ 100
│             404.2 Kitem/s │ 152.3 Kitem/s │ 366.7 Kitem/s │ 354.8 Kitem/s │         │
├─ querylog                 │               │               │               │         │
│  ├─ 1       62.84 ms      │ 250.7 ms      │ 65.44 ms      │ 69.13 ms      │ 100     │ 100
│  │          79.55 Kitem/s │ 19.94 Kitem/s │ 76.4 Kitem/s  │ 72.32 Kitem/s │         │
│  ├─ 4       35.66 ms      │ 42.15 ms      │ 39.02 ms      │ 39.12 ms      │ 100     │ 100
│  │          140.2 Kitem/s │ 118.5 Kitem/s │ 128.1 Kitem/s │ 127.7 Kitem/s │         │
│  ╰─ 16      26.69 ms      │ 31.51 ms      │ 28.11 ms      │ 28.17 ms      │ 100     │ 100
│             187.3 Kitem/s │ 158.6 Kitem/s │ 177.8 Kitem/s │ 177.4 Kitem/s │         │
╰─ spans                    │               │               │               │         │
   ├─ 1       33.78 ms      │ 43.79 ms      │ 34.81 ms      │ 35.35 ms      │ 100     │ 100
   │          147.9 Kitem/s │ 114.1 Kitem/s │ 143.6 Kitem/s │ 141.4 Kitem/s │         │
   ├─ 4       22.27 ms      │ 27.68 ms      │ 23.88 ms      │ 24 ms         │ 100     │ 100
   │          224.4 Kitem/s │ 180.5 Kitem/s │ 209.3 Kitem/s │ 208.2 Kitem/s │         │
   ╰─ 16      15.33 ms      │ 19.23 ms      │ 16.2 ms       │ 16.18 ms      │ 100     │ 100
              325.9 Kitem/s │ 259.9 Kitem/s │ 308.5 Kitem/s │ 308.8 Kitem/s │         │

anonrig avatar Dec 28 '23 13:12 anonrig

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 90.73%. Comparing base (8e458a7) to head (a413030). Report is 1265 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #5267   +/-   ##
=======================================
  Coverage   90.73%   90.73%           
=======================================
  Files         879      879           
  Lines       43053    43053           
  Branches      288      288           
=======================================
  Hits        39062    39062           
  Misses       3949     3949           
  Partials       42       42           

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Dec 28 '23 14:12 codecov[bot]