PyPy.js: What? How? Why?
summary
Claims a working in‑browser Python VM by PyPy interpreter compiled into javascript and retargeting its JIT to emit asmjs. Benchmarks show native CPython ~70–80k pistones per second, cold PyPy.js ~30–40k, warmed JIT ~140000 pistones per second. Exposes a coarse JS API and a js module to interoperate with the page. Practical issues remain: large payloads (around 15 megabytes download), garbage collection and Firefox edge cases, but core approach demonstrably runs and optimizes at surprising speed.
AI-written summary · about
chapters (4)
related talks
45mThe marvelous world of Python in Browser: a nice surprise
45mHow to run Python in the browser
41mPyodide: A Python distribution for the browser
33mIodide and Pyodide: Bringing Data Science Computation to the Web Browser
30mNative Speed on the Web: JavaScript and asm.js
29mWhat can't WebAssembly do?
43mThe Compute Revolution You’re Ignoring: JavaScript in Science
46mTurbocharging Client-Side Processing: Leveraging asm.js
