Skip to content

Commit

Permalink
Add Chrome/VSCode benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
jridgewell committed Mar 8, 2024
1 parent 99b6a47 commit 620d662
Show file tree
Hide file tree
Showing 4 changed files with 840 additions and 68 deletions.
180 changes: 113 additions & 67 deletions README.md
Expand Up @@ -131,34 +131,37 @@ assert.deepEqual(traced, {
## Benchmarks

```
node v18.0.0
node v20.10.0
amp.js.map - 45120 segments
Memory Usage:
trace-mapping decoded 562400 bytes
trace-mapping encoded 5706544 bytes
source-map-js 10717664 bytes
source-map-0.6.1 17446384 bytes
source-map-0.8.0 9701757 bytes
trace-mapping decoded 414788 bytes
trace-mapping encoded 6280096 bytes
source-map-js 10788968 bytes
source-map-0.6.1 17665560 bytes
source-map-0.8.0 8754851 bytes
Chrome dev tools 8765264 bytes
Smallest memory usage is trace-mapping decoded
Init speed:
trace-mapping: decoded JSON input x 180 ops/sec ±0.34% (85 runs sampled)
trace-mapping: encoded JSON input x 364 ops/sec ±1.77% (89 runs sampled)
trace-mapping: decoded Object input x 3,116 ops/sec ±0.50% (96 runs sampled)
trace-mapping: encoded Object input x 410 ops/sec ±2.62% (85 runs sampled)
source-map-js: encoded Object input x 84.23 ops/sec ±0.91% (73 runs sampled)
source-map-0.6.1: encoded Object input x 37.21 ops/sec ±2.08% (51 runs sampled)
trace-mapping: decoded JSON input x 206 ops/sec ±0.36% (88 runs sampled)
trace-mapping: encoded JSON input x 404 ops/sec ±1.65% (84 runs sampled)
trace-mapping: decoded Object input x 4,647 ops/sec ±0.12% (97 runs sampled)
trace-mapping: encoded Object input x 453 ops/sec ±1.73% (76 runs sampled)
source-map-js: encoded Object input x 77.10 ops/sec ±1.45% (68 runs sampled)
source-map-0.6.1: encoded Object input x 39.01 ops/sec ±1.97% (53 runs sampled)
Chrome dev tools: encoded Object input x 150 ops/sec ±1.60% (79 runs sampled)
Fastest is trace-mapping: decoded Object input
Trace speed:
trace-mapping: decoded originalPositionFor x 3,952,212 ops/sec ±0.17% (98 runs sampled)
trace-mapping: encoded originalPositionFor x 3,487,468 ops/sec ±1.58% (90 runs sampled)
source-map-js: encoded originalPositionFor x 827,730 ops/sec ±0.78% (97 runs sampled)
source-map-0.6.1: encoded originalPositionFor x 748,991 ops/sec ±0.53% (94 runs sampled)
source-map-0.8.0: encoded originalPositionFor x 2,532,894 ops/sec ±0.57% (95 runs sampled)
Fastest is trace-mapping: decoded originalPositionFor
trace-mapping: decoded originalPositionFor x 3,998,025 ops/sec ±0.37% (100 runs sampled)
trace-mapping: encoded originalPositionFor x 3,289,465 ops/sec ±1.79% (92 runs sampled)
source-map-js: encoded originalPositionFor x 917,842 ops/sec ±1.07% (91 runs sampled)
source-map-0.6.1: encoded originalPositionFor x 785,105 ops/sec ±1.17% (97 runs sampled)
source-map-0.8.0: encoded originalPositionFor x 2,745,332 ops/sec ±0.91% (97 runs sampled)
Chrome dev tools: encoded originalPositionFor x 4,287,614 ops/sec ±1.20% (91 runs sampled)
Fastest is Chrome dev tools: encoded originalPositionFor
***
Expand All @@ -167,28 +170,31 @@ Fastest is trace-mapping: decoded originalPositionFor
babel.min.js.map - 347793 segments
Memory Usage:
trace-mapping decoded 89832 bytes
trace-mapping encoded 35474640 bytes
source-map-js 51257176 bytes
source-map-0.6.1 63515664 bytes
source-map-0.8.0 42933752 bytes
trace-mapping decoded 26704 bytes
trace-mapping encoded 35430936 bytes
source-map-js 51644904 bytes
source-map-0.6.1 63528632 bytes
source-map-0.8.0 43147288 bytes
Chrome dev tools 50911744 bytes
Smallest memory usage is trace-mapping decoded
Init speed:
trace-mapping: decoded JSON input x 15.41 ops/sec ±8.65% (34 runs sampled)
trace-mapping: encoded JSON input x 28.20 ops/sec ±12.87% (42 runs sampled)
trace-mapping: decoded Object input x 964 ops/sec ±0.36% (99 runs sampled)
trace-mapping: encoded Object input x 31.77 ops/sec ±13.79% (45 runs sampled)
source-map-js: encoded Object input x 6.45 ops/sec ±5.16% (21 runs sampled)
source-map-0.6.1: encoded Object input x 4.07 ops/sec ±5.24% (15 runs sampled)
trace-mapping: decoded JSON input x 17.86 ops/sec ±6.05% (34 runs sampled)
trace-mapping: encoded JSON input x 30.95 ops/sec ±8.70% (43 runs sampled)
trace-mapping: decoded Object input x 791 ops/sec ±1.02% (93 runs sampled)
trace-mapping: encoded Object input x 33.02 ops/sec ±8.84% (45 runs sampled)
source-map-js: encoded Object input x 6.54 ops/sec ±4.17% (21 runs sampled)
source-map-0.6.1: encoded Object input x 4.26 ops/sec ±4.84% (15 runs sampled)
Chrome dev tools: encoded Object input x 22.13 ops/sec ±3.07% (41 runs sampled)
Fastest is trace-mapping: decoded Object input
Trace speed:
trace-mapping: decoded originalPositionFor x 7,183,038 ops/sec ±0.58% (95 runs sampled)
trace-mapping: encoded originalPositionFor x 5,192,185 ops/sec ±0.41% (100 runs sampled)
source-map-js: encoded originalPositionFor x 4,259,489 ops/sec ±0.79% (94 runs sampled)
source-map-0.6.1: encoded originalPositionFor x 3,742,629 ops/sec ±0.71% (95 runs sampled)
source-map-0.8.0: encoded originalPositionFor x 6,270,211 ops/sec ±0.64% (94 runs sampled)
trace-mapping: decoded originalPositionFor x 8,287,155 ops/sec ±1.61% (89 runs sampled)
trace-mapping: encoded originalPositionFor x 5,707,321 ops/sec ±1.64% (93 runs sampled)
source-map-js: encoded originalPositionFor x 4,617,011 ops/sec ±0.89% (96 runs sampled)
source-map-0.6.1: encoded originalPositionFor x 4,003,422 ops/sec ±1.03% (93 runs sampled)
source-map-0.8.0: encoded originalPositionFor x 6,823,856 ops/sec ±1.07% (93 runs sampled)
Chrome dev tools: encoded originalPositionFor x 7,558,852 ops/sec ±0.96% (94 runs sampled)
Fastest is trace-mapping: decoded originalPositionFor
Expand All @@ -198,29 +204,32 @@ Fastest is trace-mapping: decoded originalPositionFor
preact.js.map - 1992 segments
Memory Usage:
trace-mapping decoded 37128 bytes
trace-mapping encoded 247280 bytes
source-map-js 1143536 bytes
source-map-0.6.1 1290992 bytes
source-map-0.8.0 96544 bytes
trace-mapping decoded 41920 bytes
trace-mapping encoded 254336 bytes
source-map-js 954752 bytes
source-map-0.6.1 1160040 bytes
source-map-0.8.0 65096 bytes
Chrome dev tools 398792 bytes
Smallest memory usage is trace-mapping decoded
Init speed:
trace-mapping: decoded JSON input x 3,483 ops/sec ±0.30% (98 runs sampled)
trace-mapping: encoded JSON input x 6,092 ops/sec ±0.18% (97 runs sampled)
trace-mapping: decoded Object input x 249,076 ops/sec ±0.24% (98 runs sampled)
trace-mapping: encoded Object input x 14,555 ops/sec ±0.48% (100 runs sampled)
source-map-js: encoded Object input x 2,447 ops/sec ±0.36% (99 runs sampled)
source-map-0.6.1: encoded Object input x 1,201 ops/sec ±0.57% (96 runs sampled)
trace-mapping: decoded JSON input x 3,726 ops/sec ±0.13% (99 runs sampled)
trace-mapping: encoded JSON input x 6,452 ops/sec ±0.25% (100 runs sampled)
trace-mapping: decoded Object input x 83,383 ops/sec ±0.19% (99 runs sampled)
trace-mapping: encoded Object input x 14,961 ops/sec ±0.25% (97 runs sampled)
source-map-js: encoded Object input x 2,539 ops/sec ±0.24% (98 runs sampled)
source-map-0.6.1: encoded Object input x 1,237 ops/sec ±0.50% (97 runs sampled)
Chrome dev tools: encoded Object input x 4,128 ops/sec ±0.47% (90 runs sampled)
Fastest is trace-mapping: decoded Object input
Trace speed:
trace-mapping: decoded originalPositionFor x 7,620,192 ops/sec ±0.09% (99 runs sampled)
trace-mapping: encoded originalPositionFor x 6,872,554 ops/sec ±0.30% (97 runs sampled)
source-map-js: encoded originalPositionFor x 2,489,570 ops/sec ±0.35% (94 runs sampled)
source-map-0.6.1: encoded originalPositionFor x 1,698,633 ops/sec ±0.28% (98 runs sampled)
source-map-0.8.0: encoded originalPositionFor x 4,015,644 ops/sec ±0.22% (98 runs sampled)
Fastest is trace-mapping: decoded originalPositionFor
trace-mapping: decoded originalPositionFor x 7,860,922 ops/sec ±0.13% (99 runs sampled)
trace-mapping: encoded originalPositionFor x 7,194,603 ops/sec ±0.22% (98 runs sampled)
source-map-js: encoded originalPositionFor x 2,653,667 ops/sec ±0.27% (97 runs sampled)
source-map-0.6.1: encoded originalPositionFor x 1,794,160 ops/sec ±0.33% (100 runs sampled)
source-map-0.8.0: encoded originalPositionFor x 4,079,232 ops/sec ±0.35% (98 runs sampled)
Chrome dev tools: encoded originalPositionFor x 8,502,450 ops/sec ±0.35% (98 runs sampled)
Fastest is Chrome dev tools: encoded originalPositionFor
***
Expand All @@ -229,28 +238,65 @@ Fastest is trace-mapping: decoded originalPositionFor
react.js.map - 5726 segments
Memory Usage:
trace-mapping decoded 16176 bytes
trace-mapping encoded 681552 bytes
source-map-js 2418352 bytes
source-map-0.6.1 2443672 bytes
source-map-0.8.0 111768 bytes
trace-mapping decoded 13464 bytes
trace-mapping encoded 682000 bytes
source-map-js 2540984 bytes
source-map-0.6.1 2230384 bytes
source-map-0.8.0 230432 bytes
Chrome dev tools 1118400 bytes
Smallest memory usage is trace-mapping decoded
Init speed:
trace-mapping: decoded JSON input x 1,902 ops/sec ±0.13% (100 runs sampled)
trace-mapping: encoded JSON input x 4,763 ops/sec ±0.34% (100 runs sampled)
trace-mapping: decoded Object input x 75,303 ops/sec ±0.22% (100 runs sampled)
trace-mapping: encoded Object input x 5,791 ops/sec ±0.23% (100 runs sampled)
source-map-js: encoded Object input x 811 ops/sec ±0.19% (96 runs sampled)
source-map-0.6.1: encoded Object input x 420 ops/sec ±0.56% (93 runs sampled)
Chrome dev tools: encoded Object input x 1,503 ops/sec ±0.46% (94 runs sampled)
Fastest is trace-mapping: decoded Object input
Trace speed:
trace-mapping: decoded originalPositionFor x 34,044,182 ops/sec ±0.23% (95 runs sampled)
trace-mapping: encoded originalPositionFor x 34,822,726 ops/sec ±0.47% (97 runs sampled)
source-map-js: encoded originalPositionFor x 16,094,195 ops/sec ±3.07% (87 runs sampled)
source-map-0.6.1: encoded originalPositionFor x 12,818,718 ops/sec ±1.90% (92 runs sampled)
source-map-0.8.0: encoded originalPositionFor x 24,418,865 ops/sec ±0.36% (98 runs sampled)
Chrome dev tools: encoded originalPositionFor x 39,636,843 ops/sec ±0.37% (96 runs sampled)
Fastest is Chrome dev tools: encoded originalPositionFor
***
vscode.map - 2141001 segments
Memory Usage:
trace-mapping decoded 4983728 bytes
trace-mapping encoded 200000064 bytes
source-map-js 278356960 bytes
source-map-0.6.1 397326704 bytes
source-map-0.8.0 243384784 bytes
Chrome dev tools 255377536 bytes
Smallest memory usage is trace-mapping decoded
Init speed:
trace-mapping: decoded JSON input x 1,720 ops/sec ±0.34% (98 runs sampled)
trace-mapping: encoded JSON input x 4,406 ops/sec ±0.35% (100 runs sampled)
trace-mapping: decoded Object input x 92,122 ops/sec ±0.10% (99 runs sampled)
trace-mapping: encoded Object input x 5,385 ops/sec ±0.37% (99 runs sampled)
source-map-js: encoded Object input x 794 ops/sec ±0.40% (98 runs sampled)
source-map-0.6.1: encoded Object input x 416 ops/sec ±0.54% (91 runs sampled)
trace-mapping: decoded JSON input x 1.81 ops/sec ±20.81% (9 runs sampled)
trace-mapping: encoded JSON input x 2.14 ops/sec ±36.01% (10 runs sampled)
trace-mapping: decoded Object input x 103 ops/sec ±0.54% (77 runs sampled)
trace-mapping: encoded Object input x 3.35 ops/sec ±25.98% (12 runs sampled)
source-map-js: encoded Object input x 1.08 ops/sec ±12.75% (7 runs sampled)
source-map-0.6.1: encoded Object input x 0.54 ops/sec ±13.02% (6 runs sampled)
Chrome dev tools: encoded Object input x 2.75 ops/sec ±17.79% (12 runs sampled)
Fastest is trace-mapping: decoded Object input
Trace speed:
trace-mapping: decoded originalPositionFor x 32,759,519 ops/sec ±0.33% (100 runs sampled)
trace-mapping: encoded originalPositionFor x 31,116,306 ops/sec ±0.33% (97 runs sampled)
source-map-js: encoded originalPositionFor x 17,458,435 ops/sec ±0.44% (97 runs sampled)
source-map-0.6.1: encoded originalPositionFor x 12,687,097 ops/sec ±0.43% (95 runs sampled)
source-map-0.8.0: encoded originalPositionFor x 23,538,275 ops/sec ±0.38% (95 runs sampled)
trace-mapping: decoded originalPositionFor x 7,276,996 ops/sec ±1.38% (90 runs sampled)
trace-mapping: encoded originalPositionFor x 4,717,088 ops/sec ±1.53% (89 runs sampled)
source-map-js: encoded originalPositionFor x 1,547,423 ops/sec ±0.91% (97 runs sampled)
source-map-0.6.1: encoded originalPositionFor x 1,453,214 ops/sec ±1.39% (93 runs sampled)
source-map-0.8.0: encoded originalPositionFor x 4,077,080 ops/sec ±0.90% (89 runs sampled)
Chrome dev tools: encoded originalPositionFor x 5,096,269 ops/sec ±0.98% (92 runs sampled)
Fastest is trace-mapping: decoded originalPositionFor
```

Expand Down

0 comments on commit 620d662

Please sign in to comment.