~/talk

Bun, Deno, Node.js? Recreating a JavaScript runtime from Scratch

Talkat NodeTLV 2023 · on Wednesday, 2023-06-28· [javascript, nodejs]
slides:none on file

Recreates a minimal JavaScript runtime by linking V8 + libuv + C++, reading JS as a string, compiling into V8 objects, and exporting C++ functions (printf/console) into the global context. Implements timers by wrapping libuv timers and converting JS callbacks to C++ callbacks via V8 APIs, compiles with a Makefile into a binary that runs real code and async events — it works after iterative fixes. Compares approaches: Deno uses Rust+V8+Tokio, Bun uses Zig/JavaScriptCore, and small language/runtime choices and OS buffer handling explain performance and DX differences.

AI-written summary · about

  1. 0:00Introduction and motivation
  2. 3:34Recreating Node.js from scratch
  3. 16:00Comparing JavaScript runtimes
  4. 20:55Conclusion and resources
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.