compiler optimization
1:30:03C++Now 2018: Matt Godbolt “What Else Has My Compiler Done For Me Lately?”
11K views • 8 years ago
CppNow
Matt Godbolt, creator of Compiler Explorer, tours surprising optimizations modern compilers perform, such as turning loops into closed-form sums and using popcount instructions. He explores what the compiler does behind the scenes.
1:15:46CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”
178K views • 9 years ago
CppCon
Matt Godbolt's CppCon 2017 talk shows what modern compilers do with your C++ code, using Compiler Explorer to inspect generated assembly. It covers surprising optimizations and how the tool works.
2:03:12Co-dfns Live Stream: Compiler Design and Architecture
21K views • 9 years ago
Aaron Hsu (arcfide)
A two-hour live stream in which Aaron Hsu explains the architecture, design history and aesthetic of Co-dfns, his parallel APL compiler. He walks through the code and the reasoning behind its dense style.
34:10Anders Hejlsberg on Modern Compiler Construction
25K views • 9 years ago
Kasper
Anders Hejlsberg whiteboards how compilers are taught versus how modern ones are actually built. He explains the shift to compilers as services with incremental, error-tolerant, IDE-oriented design, as in Roslyn and TypeScript.
52:21ASPLOS Keynote: The Golden Age of Compiler Design in an Era of HW/SW Co-design by Dr. Chris Lattner
52K views • 5 years ago
SiFive
Chris Lattner's ASPLOS 2021 keynote on the golden age of compiler design in an era of hardware and software co-design, covering compiler infrastructure for accelerators and unifying hardware IRs.
1:00:21CppCon 2019: Matt Godbolt “Compiler Explorer: Behind The Scenes”
29K views • 7 years ago
CppCon
Matt Godbolt tells the story of Compiler Explorer, from a hacky basement server to a cloud-scaled service handling tens of thousands of daily requests. He also shows its features and how it is built.
2:02:18The Mill CPU Architecture – The Compiler (10 of 13)
12K views • 11 years ago
Mill Computing, Inc.
A long Mill Computing lecture on the Mill CPU's compiler toolchain, covering the specializer that targets family members, scheduling and latency passes, and the belt. It explains how the compiler handles a wide-issue, exposed-pipeline design.
40:48Andy Keep - Writing a Nanopass Compiler
29K views • 12 years ago
ClojureTV
Andy Keep's Clojure/Conj talk on writing a nanopass compiler, built from many single-task passes with formally defined intermediate languages. It covers the framework's origins in a compiler teaching course at Indiana University.
1:35:12Modernizing Compiler Design for Carbon Toolchain - Chandler Carruth - CppNow 2023
71K views • 3 years ago
CppNow
Chandler Carruth's CppNow 2023 talk on modernizing compiler design for the Carbon toolchain, using data-oriented design and modern hardware assumptions. It covers lexing, parsing and compact data structures aimed at compiler performance.
1:33:022013 Keynote: Chandler Carruth: Optimizing the Emergent Structures of C++
34K views • 13 years ago
CppNow
Chandler Carruth's CppNow 2013 keynote on how C++ builds complex software from simple emergent structures, and how compilers optimize them through inlining and value semantics.
Topic match · Compilers, interpreters & program analysis
1:08:52JVMLS 2015 - Compilers are Databases
16K views • 11 years ago
Java
Martin Odersky's JVM Language Summit 2015 talk argues that compilers can be thought of as databases. It describes design ideas for the Scala compiler and for developer tools.
13:14Did Nintendo really forget to Optimize Super Mario 64 ? | MVG
1.3M views • 6 years ago
Modern Vintage Gamer
Modern Vintage Gamer examines the claim from the Super Mario 64 decompilation project that the game shipped unoptimized, and puts it in the context of 1996 N64 development.
Topic match · Compilers, interpreters & program analysis
1:13:06Chris Lattner: Compilers, LLVM, Swift, TPU, and ML Accelerators | Lex Fridman Podcast #21
200K views • 7 years ago
Lex Fridman
Lex Fridman interviews Chris Lattner, creator of LLVM, Clang and Swift, about compilers, Swift for TensorFlow, TPUs and ML accelerators. The talk covers how hardware and software meet to produce efficient code.
57:39CppCon 2016: Chandler Carruth “Garbage In, Garbage Out: Arguing about Undefined Behavior..."
94K views • 10 years ago
CppCon
Chandler Carruth's CppCon 2016 talk tries to defuse the heated debate over undefined behavior in C and C++. He explains from the compiler writer's perspective why UB exists and how it enables optimization.
Topic match · Compilers, interpreters & program analysis
1:38:36Episode 1: A basic expression evaluator
284K views • 8 years ago
Immo Landwerth (terrajobst)
The first episode of a long live-coding series in which Immo Landwerth builds the Minsk compiler for a small language in C#. It starts with a basic expression evaluator and builds toward a full language.
Topic match · Compilers, interpreters & program analysis
47:51Brandt Bucher – A JIT Compiler for CPython
14K views • 2 years ago
encukou
Brandt Bucher presents his prototype JIT compiler for CPython at the 2023 Core Developer Sprint. He explains the copy-and-patch approach, the implementation and its performance.
43:20Zig Roadmap 2023 - Andrew Kelley
77K views • 4 years ago
Zig SHOWTIME
Andrew Kelley's roadmap talk on upcoming Zig compiler milestones, focused on compilation speed. It was given at a Zig community event in 2022.
Topic match · Compilers, interpreters & program analysis
1:01:37Compiling and Optimizing Scripting Languages
21K views • 17 years ago
Google TechTalks
Paul Biggar's Google Tech Talk on compiling and optimizing scripting languages, drawn from his work on the phc ahead-of-time PHP compiler. He covers runtime typing, aliasing and code generation challenges, and argues AOT can compete with JIT.
Topic match · Compilers, interpreters & program analysis
1:21:25Let's prototype a JavaScript JIT compiler!
49K views • 3 years ago
Andreas Kling
Andreas Kling live-codes a prototype JavaScript JIT compiler for the LibJS engine used in SerenityOS and Ladybird. He builds a standalone bytecode VM, a simple interpreter, and then a simple JIT in about 80 minutes.
1:20:33Lecture 1 | Convex Optimization I (Stanford)
753K views • 18 years ago
Stanford
The introductory lecture of Stephen Boyd's Stanford Convex Optimization I course (EE 364A). It outlines convex sets, functions and problems, and the course's coverage of least-squares, linear and semidefinite programming, duality and interior-point methods.
1:19:52CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”
264K views • 10 years ago
CppCon
Jason Turner's CppCon 2016 talk builds a simple Commodore 64 game using C++17, showing how constexpr and const let a modern compiler produce tight 6502 code. He walks through assembly output to show abstractions being optimized away.
Topic match · Compilers, interpreters & program analysis
25:41Compiling C to printable x86, to make an executable research paper
479K views • 9 years ago
suckerpinch
Tom7 explains how he built a SIGBOVIK 2017 paper made only of printable ASCII bytes that is also a valid DOS executable. He writes a C compiler targeting printable x86 without self-modifying code and solves the puzzles the constraint creates.
Topic match · Compilers, interpreters & program analysis
1:21:39Making R run Fast - Jan Vitek
860 views • 10 years ago
John O'Neill
Jan Vitek of Northeastern University gives a meetup talk on the challenges of making the R language run fast. He explains what in R's semantics makes it hard to optimize and to build a JIT compiler for.
Topic match · Compilers, interpreters & program analysis
13:45A 10x faster TypeScript
608K views • 1 year ago
Microsoft Developer
Anders Hejlsberg introduces the native port of the TypeScript compiler, written in Go, which promises roughly 10x faster tooling. He demos compiling VS Code and explains where the speedup comes from.
Topic match · Compilers, interpreters & program analysis
1:01:31TypeScript is being ported to Go | interview with Anders Hejlsberg
102K views • 1 year ago
Michigan TypeScript
An interview with Anders Hejlsberg, lead architect of TypeScript, about porting the TypeScript compiler to Go. He covers the 10x type-checking speedup, lower memory use, and why Go was chosen.
Topic match · Compilers, interpreters & program analysis
1:00:54GoingNative 2012 - Day 2 - Clang
13K views • 13 years ago
aghuttun
Chandler Carruth's GoingNative 2012 talk on Clang, covering how the compiler helps defend C++ code from mistakes. It makes the case for Clang's diagnostics and tooling.
Topic match · Compilers, interpreters & program analysis
50:43Pacific Northwest Scala 2013 We're Doing It All Wrong by Paul Phillips
65K views • 13 years ago
Confreaks
Paul Phillips, a former Scala core contributor, argues after moving a million lines of code that much of what the software industry does is wrong. He critiques Scala and compiler design and calls for better approaches.
Topic match · Compilers, interpreters & program analysis
12:01React without memo
150K views • 4 years ago
React Conf
A React Conf talk by Xuan Huang previewing React Forget, a compiler that automatically memoizes components. It argues for making memoization the default so developers need not write useMemo or useCallback by hand.
Topic match · Compilers, interpreters & program analysis
10:01Intentional Programming demo (Part 2) - Compiler
4K views • 20 years ago
dftube
Part 2 of an old Microsoft Research demo of Intentional Programming, showing the compiler side of a system that stores programs as abstract structure rather than text. The uploader says the companion editor clip is clearer.
18:41Refterm Lecture Part 1 - Philosophies of Optimization
93K views • 5 years ago
Molly Rocket
Casey Muratori's first refterm lecture lays out philosophies of optimization, distinguishing optimization from non-pessimization, which means avoiding needless work. It uses his fast terminal renderer project to show how fast computers really are.
31:19CppCon 2016: Nicholas Ormrod “The strange details of std::string at Facebook"
122K views • 10 years ago
CppCon
Nicholas Ormrod's CppCon 2016 talk on how Facebook optimizes std::string with its open-source replacement fbstring. It covers storage layout tradeoffs, small string optimization and memory allocation behavior.
1:29:54CppCon 2015: Chandler Carruth "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!"
188K views • 11 years ago
CppCon
Chandler Carruth walks through tuning C++ performance, from writing benchmarks to analyzing results on real CPUs and compilers. It focuses on small-scale problems such as loop kernels, data structures and algorithms, and on keeping compilers from optimizing benchmarks away.
1:02:17'Fastware' - Andrei Alexandrescu [ ACCU 2016 ]
34K views • 10 years ago
ACCU Conference
Andrei Alexandrescu's ACCU 2016 talk previews material from his book on writing fast code, with a focus on optimization techniques such as sentinels and faster search.
36:45Rich Harris - Rethinking reactivity
334K views • 7 years ago
You Gotta Love Frontend
Svelte creator Rich Harris explains moving reactivity into the compiler and language rather than tracking state at runtime, with a history of spreadsheets as reactive systems and comparisons to React.
Topic match · Compilers, interpreters & program analysis
34:55"Outperforming Imperative with Pure Functional Languages" by Richard Feldman
98K views • 5 years ago
Strange Loop Conference
Richard Feldman explains how pure functional languages can match or beat imperative ones on performance. Compilers can turn immutable code into in-place mutation, avoiding naive copying. The talk draws on his work on the Roc language.
Topic match · Compilers, interpreters & program analysis
1:15:09Cliff Click @ VMSS16: Bits of Advice For the VM Writer
4K views • 10 years ago
softdevteamuk
Cliff Click, author of HotSpot's JIT compiler, shares hard-won advice for people writing virtual machines at the VMSS16 workshop. Topics include interpreters, JITs and performance lessons.
Topic match · Compilers, interpreters & program analysis
1:04:48"Performance (Really) Matters" with Emery Berger
7K views • 6 years ago
Association for Computing Machinery (ACM)
Emery Berger argues that performance is hard to measure and deliver on modern systems, showing how code layout and link order can swamp optimization effects. He presents tools that evaluate performance more reliably.
Topic match · Compilers, interpreters & program analysis
1:14:32Building Your Own Dynamic Language
21K views • 18 years ago
Stanford
Ian Piumarta's 2007 Stanford EE380 lecture on building a dynamic programming environment from the ground up, from the Viewpoints Research Institute's work. It covers the design of a language and system with a recursive design, parsing through code generation, and the COLA architecture.
Topic match · Compilers, interpreters & program analysis
37:11CheerpX: a WebAssembly-based x86 virtual machine in the browser, Yuri Iozzelli
7K views • 6 years ago
WebAssembly NA
A talk by Yuri Iozzelli at a WebAssembly meetup on CheerpX, an x86 virtual machine running in the browser. It uses a JIT compiler that emits WebAssembly at runtime to run real native applications. It covers the architecture and demos such as porting a multiplayer C++ game.
Topic match · Compilers, interpreters & program analysis
1:28:59Psp collections: views and more by Paul Phillips
11K views • 12 years ago
AI Council
Paul Phillips, a major Scala compiler contributor, gives a long talk on Scala collections and views, using it to critique Scala's design and direction.
Topic match · Compilers, interpreters & program analysis