Skip to content

Instantly share code, notes, and snippets.

@Huxpro
Last active December 13, 2020 21:23
Show Gist options
  • Save Huxpro/f16b0a51e06e463a7d31d452b3da90e8 to your computer and use it in GitHub Desktop.
Save Huxpro/f16b0a51e06e463a7d31d452b3da90e8 to your computer and use it in GitHub Desktop.
JS interpreter performance

JS interpreter performance

On Macbook Pro 16"

Native

λ v8 --jitless benchmark.js
Richards: 1147
Crypto: 845
RayTrace: 2835
NavierStokes: 1089
Splay: 3602
----
Score (version 7): 1609

λ jsc --useJIT=false  benchmark.js
Richards: 1102
Crypto: 1642
RayTrace: 1683
NavierStokes: 1975
Splay: 3777
----
Score (version 7): 1867

λ sm --blinterp-eager --no-baseline --no-ion --non-writable-jitcode benchmark.js
Richards: 934
Crypto: 1078
RayTrace: 1138
NavierStokes: 1185
Splay: 3309
----
Score (version 7): 1350

λ qjs benchmark.js
Richards: 751
Crypto: 766
RayTrace: 338
NavierStokes: 1331
Splay: 649
----
Score (version 7): 700

λ hermes benchmark.js
Richards: 1011
Crypto: 1093
RayTrace: 1171
NavierStokes: 1319
Splay: 1641
----
Score (version 7): 1229

On average,

  • JSC: 18**
  • V8: 16**
  • SM: 13**
  • Hermes: 12**
  • QJS: 7**

Wasm

On Node 12:

>>>>>>> quickjs-wasm <<<<<<<<
Richards: 321
Crypto: 285
RayTrace: 393
NavierStokes: 552
Splay: 1032
----
Score (version 7): 460

λ node hermes.js ./benchmark.js
Richards: 376
Crypto: 381
RayTrace: 567
NavierStokes: 538
Splay: 521
----
Score (version 7): 469

On Node 14:

>>>>>>> quickjs-wasm <<<<<<<<
Richards: 429
Crypto: 556
RayTrace: 614
NavierStokes: 908
Splay: 1161
----
Score (version 7): 688

λ node hermes.js ./benchmark.js
Richards: 535
Crypto: 684
RayTrace: 757
NavierStokes: 781
Splay: 999
----
Score (version 7): 736
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment