~/talk

Faster Compile Times and Better Performance: Bringing Just-in-Time Compilation to C++

links:none on file
slides:none on file

ClangJIT implements deferred instantiation by embedding serialized AST/modules and compiler state in object files, letting the program supply non‑type template values at runtime (types currently resolved from strings) and instantiate on demand without filesystem access. Ahead‑of‑time builds that compile three specializations take ~7s versus the JIT image build ~1s; runtime compilation of small template cases is milliseconds while runtime performance matches AOT and GPU kernels see up to 100x speedups for tiny matrices. It works but pays a first‑use compilation cost and has current limits around types, error reporting and resource management; CUDA support is included.

AI-written summary · about

  1. 0:00Introduction
  2. 3:15Purpose
  3. 4:02Use Case
  4. 4:33Program Productivity
  5. 6:47JustinTime Compilation
  6. 7:40The Problem
  7. 8:10What does this mean
  8. 9:41Can you construct a JIT for C
  9. 11:50Specialization and generic programming
  10. 12:40JustinTime compilation and generic programming
  11. 13:51Cost of compilation
  12. 15:12Requirements
  13. 16:45HelloWorld
  14. 18:12More complicated example
  15. 19:23Semantics
  16. 20:43Limitations
  17. 21:37What happens when you compile
  18. 22:32Metadata
  19. 24:00Runtime
  20. 25:24Benchmarks
  21. 26:51Compile Time
  22. 28:56Performance Comparison
  23. 32:45Using JustinTime Compilation
  24. 33:13Simulation Code Example
  25. 36:34Costs
  26. 38:06Second example
  27. 38:58Benchmark
  28. 39:32How to hook CTRE
  29. 41:51Compiler Performance
  30. 42:55The Future
  31. 45:13Challenges Design Options
  32. 46:40Other Concerns
  33. 48:12Committee Feedback
  34. 50:26Underlying Question
  35. 51:03Conclusions
~/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.