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.
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: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.
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
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
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
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
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: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
44:382017 LLVM Developers’ Meeting: “Implementing Swift Generics ”
21K views • 9 years ago
LLVM
Swift compiler engineers explain how Swift implements generics using dictionary-passing with reified type metadata. They compare it with Java-style uniform representation and C++ or Rust monomorphization.
Topic match · Compilers, interpreters & program analysis
28:10CANDO: A Compiled Programming Language for Computer-Aided Nanomaterial Design and Optimization
3K views • 10 years ago
European Lisp Symposium
Christian Schafmeister presents CANDO at the 2016 European Lisp Symposium. It is a compiled Lisp-based language for designing macromolecules and nanoscale materials, built on the Clasp implementation of Common Lisp.
1:01:40Demo: Implicit Context
28K views • 11 years ago
Jonathan Blow
Jonathan Blow gives a formal, hour-long demo of his Jai compiler focused on the implicit context feature. The context carries things like allocators through a program without explicit parameter passing, and the talk walks through the code.
Topic match · Compilers, interpreters & program analysis
26:012018 LLVM Developers’ Meeting: C. Schafmeister “Lessons Learned Implementing Common Lisp with LLVM”
61K views • 7 years ago
LLVM
Christian Schafmeister presents lessons from six years of implementing Clasp, a Common Lisp compiler using LLVM as its backend that interoperates with C++. He explains handling a dynamic, memory-managed language on LLVM.
Topic match · Compilers, interpreters & program analysis
50:11Twitter’s Quest for a Wholly Graal Runtime by Chris Thalinger
3K views • 8 years ago
Scala Days Conferences
Chris Thalinger of Twitter describes the company's effort to run its Scala services on the Graal JIT compiler at Scala Days NYC 2018. It covers the performance gains Twitter saw and the work of running Graal in production.
Topic match · Compilers, interpreters & program analysis
12:04How we fit an NES game into 40 Kilobytes
3.7M views • 8 years ago
Morphcat Games
Morphcat Games explains how they fit Micro Mages, a full-featured NES game, into 40 kilobytes. It covers compression of sprites and level layouts and other space-saving tricks.
59:11How to Speed up a Python Program 114,000 times.
171K views • 13 years ago
InfoQ
David Schachter describes how he made a data-collection Python program run 114,000 times faster, drawing on decades of experience. The talk covers pipelining, cache effects and other optimization lessons.
1:19:57Simon Peyton Jones: Data Parallel Haskell
28K views • 16 years ago
nuACM
Simon Peyton Jones explains nested data parallelism and Data Parallel Haskell, an approach to exploiting multicore and distributed hardware while keeping a simple single-control-flow programming model.
Topic match · Compilers, interpreters & program analysis
25:52Halide Talk
53K views • 12 years ago
Andrew Adams
Andrew Adams, a Halide developer, presents the Halide language for image processing and tensor computation. The talk explains the separation of algorithm from schedule with illustrated examples of parallelism, locality and redundancy tradeoffs.
Topic match · Compilers, interpreters & program analysis
23:57GopherCon 2016: The Design of the Go Assembler - Rob Pike
116K views • 10 years ago
Gopher Academy
Rob Pike's GopherCon 2016 talk on the design of the Go assembler, explaining why Go uses a common assembly language translated to each architecture.
Topic match · Compilers, interpreters & program analysis
1:02:44Chris Seaton @ VMSS16: JRuby+Truffle: Why it’s Important to Optimise the Tricky Parts
5K views • 10 years ago
softdevteamuk
Chris Seaton talks about JRuby+Truffle, explaining how the Truffle and Graal combination optimises the tricky parts of Ruby and why it outperforms other Ruby implementations.
Topic match · Compilers, interpreters & program analysis
1:14:51Lisp at the Frontier of Computation, by Robert Smith at Rigetti Computing
16K views • 8 years ago
Arthur Gleckler
Robert Smith of Rigetti Computing talks at a Bay Area Lisp and Scheme meetup about using Common Lisp for quantum computing. He covers the technical, sociological and psychological sides of working across disciplines.
Topic match · Compilers, interpreters & program analysis
40:50JVMLS 2015 - Java Goes AOT
8K views • 11 years ago
Java
Christian Thalinger presents at the 2015 JVM Language Summit on adding ahead-of-time compilation to the JVM, covering the HotSpot team's AOT work and its relation to warmup and deoptimization.
Topic match · Compilers, interpreters & program analysis
41:09ClojureScript for Skeptics - Derek Slager
72K views • 10 years ago
ClojureTV
Derek Slager's Clojure/conj talk argues that ClojureScript is a pragmatic choice for web development. He addresses common objections, recent improvements, tooling and use cases where it shines.
57:38Clasp: Common Lisp using LLVM and C++ for Molecular Metaprogramming
52K views • 11 years ago
Google TechTalks
Christian Schafmeister's Google Tech Talk on designing spiroligomer molecules and building Clasp, a Common Lisp on LLVM that interoperates with C++, to program molecular design. It covers the chemistry, automatic differentiation for force fields, and how the compiler is built.
Topic match · Compilers, interpreters & program analysis
46:19Break Me00 The MoVfuscator Turning mov into a soul crushing RE nightmare Christopher Domas
81K views • 11 years ago
Adrian Crenshaw
Christopher Domas's Derbycon 2015 talk on the M/o/Vfuscator, a compiler that emits only x86 mov instructions, showing mov is Turing complete. It explains how a full machine is built from mov and why the output is a nightmare to reverse engineer.
Topic match · Compilers, interpreters & program analysis
2:55:13Oral History of Gary Davidian, part 2 of 2
2K views • 7 years ago
Computer History Museum
Part two of a Computer History Museum oral history with Gary Davidian, covering his work on the 68000 emulator for PowerPC at Apple, Power Computing, clean-room contracting and later performance optimization work. It is nearly three hours long.
Topic match · Compilers, interpreters & program analysis