SpiderMonkey Blog
spidermonkey.dev · Company blog · on HN since 2020
Mozilla's SpiderMonkey team blogs about Firefox's JavaScript and WebAssembly engine, covering compiler work, newsletters and new feature shipping.
What HN saysHN commenters cite it for the Memory64 post showing wasm64 can run 10% to over 100% slower, and for details on asm.js compilation.
31HN people shared it
14linked it in comments
20stories submitted
859story points
5 months agolast shared
2020people per year2026
Most-shared posts
- 1SpiderMonkey JavaScript/WebAssembly Engine7 people · 95 points · first shared 2021 · 24 comments on HN
- 2Is WebAssembly Memory64 worth using?4 people · 39 points · first shared 2025 · 51 comments on HN
- 3Who needs Graphviz when you can build it yourself?2 people · 538 points · first shared 2025 · 108 comments on HN
- 4Optimizing the Ion compiler back end2 people · 164 points · first shared 2024 · 40 comments on HN
- 5Saying Goodbye to Asm.js2 people · 2 points · first shared 2026 · discussion on HN
- 6Newsletter firefox 90 912 people · first shared 2021
- 7SpiderMonkey Newsletter 4 (Firefox 76-77)1 people · 4 points · first shared 2020 · discussion on HN
- 8Shipping Temporal in Firefox 1391 people · 3 points · first shared 2025 · discussion on HN
- 9Private Fields and Methods ship with Firefox 901 people · 2 points · first shared 2021 · discussion on HN
- 10Ergonomic Brand Checks will ship with Firefox 901 people · 2 points · first shared 2021 · discussion on HN
- 11SpiderMonkey Newsletter (Firefox 132-134)1 people · 2 points · first shared 2024 · discussion on HN
- 12SpiderMonkey Newsletter 2 (Firefox 73)1 people · 2 points · first shared 2020 · discussion on HN
- 13SpiderMonkey Newsletter (Firefox 96-97)1 people · 1 points · first shared 2022 · discussion on HN
- 14Speedometer 2 benchmark shows FF perf nearing parity with Chrome on Windows 101 people · 1 points · first shared 2023 · 1 comments on HN
- 15Making Teleporting Smarter1 people · 1 points · first shared 2025 · discussion on HN
What HN people wrote when they linked it
flohofwoe · 2026-06-15
I already posted the link in another reply, but this is a good overview why wasm32 is usually the better choice over wasm64:
https://spidermonkey.dev/blog/2025/01/15/is-memory64-actually-worth-us…
TL;DR: wasm64 has slower memory load/store operation because it requires 'software bounds checking', so unless you absolutely need more than 4 GB RAM, wasm32 is the better choice.
bvisness · 2026-05-20
In SpiderMonkey, asm.js code has been compiled by exactly the same pipeline as wasm since at least 2019. In fact, the way we compile it is literally to construct a pseudo-wasm module and run it through our wasm compiler (with a few flags to tweak the behavior to fit the asm.js semantics). In other words, if you're running asm.js in Firefox, you're literally just running wasm anyway, so how could it possibly be faster?
Furthermore, if you use wasm, you'll have fewer bounds checks (because of better memory allocation strategies[1]), access to SIMD, bulk memory operations, and a host of other niceties that have been added to wasm over the years. If your asm.js code is outperforming someone else's wasm code, that probably just means their wasm code is worse.
[1]: https://spidermonkey.dev/blog/2025/01/15/is-memory64-actually-worth-us…
tempaccsoz5 · 2026-01-28
Engines other than v8 exist. React Native uses Hermes or JavaScriptCore (Apple/Safari). [0]
Other engines include SpiderMonkey (Mozilla/Firefox) [1] and QuickJS [2]
[0]: https://reactnative.dev/docs/javascript-environment
[1]: https://spidermonkey.dev/
[2]: https://bellard.org/quickjs/
jsheard · 2025-11-10
Unfortunately 64bit address suppport does the opposite, that comes with a non-trivial performance penalty because it breaks the tricks that were used to minimize sandboxing overhead in 32bit mode.
https://spidermonkey.dev/blog/2025/01/15/is-memory64-actually-worth-us…
kg · 2025-09-17
> WebAssembly apps tend to run slower in 64-bit mode than they do in 32-bit mode. This performance penalty depends on the workload, but it can range from just 10% to over 100%—a 2x slowdown just from changing your pointer size.
> This is not simply due to a lack of optimization. Instead, the performance of Memory64 is restricted by hardware, operating systems, and the design of WebAssembly itself.
https://spidermonkey.dev/blog/2025/01/15/is-memory64-actually-worth-us…
pavon · 2024-04-16
This announcement has some links to articles with more details: https://hacks.mozilla.org/2024/03/improving-performance-in-firefox-and…
The SpiderMonkey devs also post newsletters every few months detailing all the recent improvements they've made: https://spidermonkey.dev/
kunagi7 · 2022-01-12
Spidermonkey is quite embeddable by itself [1]. On Linux things like polkit, couchdb, mongodb use it. Still, the compilation process seems to download the whole firefox tarball and only compiles the JS related parts [2, 3].
[1] https://spidermonkey.dev
[2] https://archlinux.org/packages/extra/x86_64/js78/
[3] https://www.linuxfromscratch.org/blfs/view/svn/general/js78.html
dblohm7 · 2021-09-22
Any chance you could add a link for SpiderMonkey? It has its own site now:
https://spidermonkey.dev/
jd3 · 2021-09-07
For what it's worth, the Fastly team recently ported spidermonkey to WASI
https://bugzilla.mozilla.org/show_bug.cgi?id=1701197
https://spidermonkey.dev/blog/2021/07/19/newsletter-firefox-90-91.html…
https://bytecodealliance.org/articles/making-javascript-run-fast-on-we…
liminal · 2021-05-06
The tarot-style images of the monkeys in the docs are amazing :)
https://spidermonkey.dev/docs/
krautsauer · 2026-06-14
> asm.js (that's been deprecated, hasn't it?)
https://spidermonkey.dev/blog/2026/05/20/saying-goodbye-to-asmjs.html
iirc, v8 never had any special compilation path for it to begin with.
miohtama · 2024-10-17
Here is the original blog post that is more readable
https://spidermonkey.dev/blog/2024/10/16/75x-faster-optimizing-the-ion…
cpeterso · 2024-01-27
An example: “Are We ESMified Yet?” is a Mozilla dashboard tracking an incremental Firefox code migration (1.5 years and counting) from a Mozilla-specific "JSM" JavaScript module system to the standard ECMAScript Module "ESM" system. Current ESMification: 96.69%.
“Are We X Yet?” is a Mozilla meme for dashboards like this.
https://spidermonkey.dev/areweesmifiedyet/
mccr8 · 2021-09-07
This is probably referring to some work to use Stencil for self-hosted code. That reduced process overhead by 6%, which is quite a bit: https://bugzilla.mozilla.org/show_bug.cgi?id=1688794
There might have been some other Stencil work that landed in 92 to reduce memory.
There's a description of what Stencil is, and some work related to it that landed in Firefox 90 and 91, here: https://spidermonkey.dev/blog/2021/07/19/newsletter-firefox-90-91.html