Emscripten
summary
Emscripten compiles LLVM bitcode from C/C++ into JavaScript and shows full, working ports: Bullet physics engine running in canvas, SQLite in the browser, Python/Ruby/Lua runtimes and espeak synthesis, not just toy examples. Claims: automatic whole-library ports, a bindings generator that exposes C++ headers to JS, and typical speed at roughly 2–5× slower than native with real-world variability. Caveats: some source tweaks or manual destroys are required, startup and engine bugs affect performance, and I/O maps to synchronous XHR by default.
AI-written summary · about
chapters (18)
- 0:00Intro
- 0:35Why Emscripten
- 1:16Bullet
- 4:40SequelLite
- 7:23Python Ruby Lua
- 11:30Web Audio
- 15:27Memory
- 19:02Filesystem
- 20:50Compiler
- 22:14How does it look
- 23:03C example
- 24:19Binding API
- 28:39Speed
- 30:30Comparison with other languages
- 31:38Notes
- 33:43Future
- 34:57Questions
- 37:48Performance
related talks
59mEmscripten and asm.js: C++'s role in the modern web
56mEmbind and Emscripten: Blending C++11, JavaScript, and the Web Browser
27mToward a language-neutral browser VM
33mHigh-Performance WebGL Apps with LLJS and asm.js
30mNative Speed on the Web: JavaScript and asm.js
01h 14mC++ on the Web: Ponies for developers without pwn’ing users
34mBack to the FUTURE! From C++ to JS
30mJavaScript Taking Both the High and Low Roads
