~/talk

“What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”

Talkat CppCon 2017 · 2017-09-24..09-29· [compilers-and-language-design]
slides:none on file

A quick history and demo: a 2012 bash script grows into Compiler Explorer, a Node.js site that pipes user code to many compilers (GCC/Clang/MSVC via Docker on AWS) and returns assembly, diffs and a CFG beta. Concrete wins shown: range-for compiles to the same 10–14 instructions as indexed loops, compilers replace hand shifts with lea and multiply tricks, eliminate divides via magic constants, use popcnt and turn O(n) summations into O(1). Site costs ≈$150–200/month and runs cached, public compiler images, with execution and more languages planned.

AI-written summary · about

  1. 0:00Introduction and background
  2. 1:05Why learn assembly?
  3. 4:22Compiler Explorer origin
  4. 7:35X86 assembly overview
  5. 14:51Range-based for loops
  6. 20:13Vector optimization analysis
  7. 28:29Multiplication optimization
  8. 32:54Division and modulus
  9. 37:08Hash map optimizations
  10. 39:39Bit counting tricks
  11. 42:15Closed-form solutions
  12. 47:31Building Compiler Explorer
  13. 53:12Security challenges
  14. 58:25Future developments
  15. 1:03:18Q&A and concluding remarks
~/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.