“Practical Performance Practices"
summary
ChaiScript becomes roughly 100x faster over six years by simplifying idiomatic C++ rather than adding a VM or JIT, with concrete wins: caching parsed integers removes reparsing and gives ~10% improvement across the system; removing needless virtual destructors restores move operations and saves ~10%; prefer returning unique_ptr from factories to cut template instantiations, compile time and binary size; replace std::bind/std::function with lambdas (zero overhead) and avoid flushing with std::endl because it adds ~9x I/O cost; automated per-commit perf tests confirm gains.
AI-written summary · about
chapters (13)
- 0:00Start
- 1:06Optimizing Compilers
- 3:43Which Is Better for the Normal Case Standard Vector or Standard List
- 4:14Why Why Is Vector Better than List
- 6:05Standard Array
- 9:12Code Efficiency
- 29:28Shared Pointer
- 38:29Returning Unique Pointer from Your Factory Functions
- 47:48Bonus Slide Avoid Non-Local Data
- 49:46Performance Graph
- 50:11Automated Performance Monitoring Setup
- 53:45Why this Works
- 59:31Almost 100 X Improvement in Time
related talks
01h 44mImproving C++ Compilation Times: Tools & Techniques
56mPractical Techniques for Improving C++ Build Times
14mShould You Favor Performance or Readability?
59mThe Hitchhikers guide to faster builds
01h 11mPragmatic Simplicity - Actionable Guidelines To Tame Cpp Complexity
01h 01mSecrets of C++ Scripting Bindings: Bridging Compile Time and Run Time
06mLightning Talk: C++ Debug Performance is Improving: What Now?
31m“New standards to the rescue: the view through an IDE’s glasses”
