{"podcast":{"title":"devtools.fm: Developer Tools, Open Source, Software Development","slug":"devtools-fm","podcast_index_feed_id":3745116,"rss_url":"https://anchor.fm/s/dd6922b4/podcast/rss","website_url":"https://devtools.fm","image_url":"https://d3t3ozftmdmh3i.cloudfront.net/staging/podcast_uploaded_nologo/37046549/ce6a315e5ecf42d2.jpeg","author":"Andrew Lisowski, Justin Bennett","episode_count":172,"summary":"A podcast about developer tools and the people who make them. Join us as we embark on a journey to explore modern developer tooling and interview the people who make it possible. We love talking to the creators front-end frameworks (React, Solid, Svelte, Vue, Angular, etc), JavaScript and TypeScript runtimes (Node, Deno, Bun), Languages (Unison, Elixor, Rust, Zig), web tech (WASM, Web Containers, WebGPU, WebGL), database providers (Turso, Planetscale, Supabase, EdgeDB), and platforms (SST, AWS, Vercel, Netlify, Fly.io).","last_synced_at":null,"page_url":"https://stenobird.com/podcast/devtools-fm"},"episode":{"title":"Oliver Medhurst - Porffor - JavaScript Ahead of Time Compiler","slug":"oliver-medhurst-porffor-javascript-ahead-of-time-compiler","published_at":"2025-10-20T01:52:52+00:00","page_url":"https://stenobird.com/podcast/devtools-fm/oliver-medhurst-porffor-javascript-ahead-of-time-compiler","show_page_url":"https://stenobird.com/podcast/devtools-fm","url":"https://podcasters.spotify.com/pod/show/devtoolsfm/episodes/Oliver-Medhurst---Porffor---JavaScript-Ahead-of-Time-Compiler-e39okc8","audio_url":"https://anchor.fm/s/dd6922b4/podcast/play/109907784/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2025-9-20%2F409568837-44100-2-5038c23cc3993.m4a","summary":"Porffor is an experimental ahead-of-time (AOT) compiler that transforms JavaScript into WebAssembly to eliminate startup latency. The discussion explores the technical challenges of implementing closures and the potential for high-performance, small-footprint JS runtimes in serverless and embedded environments.","meta_description":"Explore the technical internals of Porffor, a JavaScript to WebAssembly AOT compiler, and the future of performance-constrained JS runtimes.","key_points":["Main idea: Porffor targets the 10% of JavaScript use cases where startup time and binary size are more critical than peak throughput","Technical challenge: Implementing closures correctly is currently the most complex and bug-prone part of the compilation process","Performance optimization: Small changes in code structure, such as passing objects instead of multiple arguments, can significantly impact AOT compilation efficiency","Failure mode: Relying on heavy JIT-dependent patterns or large Node.js APIs can break the compatibility of an AOT-compiled runtime","Practical takeaway: AOT compilation is a powerful tool for serverless and edge computing where avoiding 'cold starts' is a primary requirement"],"chapters":[{"start_ms":60000,"title":"Developer Background","summary":"Oliver discusses his journey from a self-taught developer to working on Firefox internals at Mozilla."},{"start_ms":275000,"title":"The Case for AOT Compilation","summary":"An exploration of why avoiding JIT compilation overhead is essential for reducing startup latency in large applications."},{"start_ms":485000,"title":"Implementing Closures","summary":"The technical difficulties and bugs encountered when attempting to compile JavaScript closures to WebAssembly."},{"start_ms":1145000,"title":"JavaScript in Game Engines","summary":"Discussing the utility of using compiled JavaScript as a scripting language for game engines and embedded systems."},{"start_ms":1585000,"title":"The Path to Production","summary":"The challenges of making a compiler production-ready, specifically regarding memory allocation and API compatibility."},{"start_ms":2455000,"title":"The Future of JS Runtimes","summary":"Speculating on the evolution of serverless runtimes and the potential for new, specialized JavaScript engines."}],"topics":["JavaScript","WebAssembly","Ahead-of-Time Compilation","Software Engineering","Browser Internals","Serverless Computing","Runtime Environments","Compiler Design"],"duration_seconds":2918,"processing_state":"processed","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/devtools-fm/episodes/oliver-medhurst-porffor-javascript-ahead-of-time-compiler/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/devtools-fm/oliver-medhurst-porffor-javascript-ahead-of-time-compiler.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]}}