~/talk

Improving Performance and Maintainability in Modern C++

Talkat ACCU 2016 · on Saturday, 2016-04-23· [c-and-cpp]
links:none on file
slides:none on file

Refactors of the PARSEC fluidanimate port replace chunky global state and handcrafted memory pools with a vector of Particle and standard allocators, move constants into constexpr/templated holders, and separate concurrency into a small library YAPL with policy-driven mutexes (including a null mutex). Results: ~20–25% fewer LOC, cyclomatic max drops from 61/3333 to ~12, 20% fewer instructions and 40% fewer branch instructions, sequential is ~10% faster and parallel on an i7 is ~40% faster versus the original TBB version (measured with Linux perf, GCC).

AI-written summary · about

  1. 0:00Start
  2. 2:54Common Assumptions
  3. 6:36Parsec Benchmark
  4. 16:05Memory Management
  5. 20:06Refactorings
  6. 23:10Simulation Constants
  7. 23:40Data Structures
  8. 24:34Where Do I Place My Constant
  9. 25:13Constants Generic
  10. 28:43Global Data Structures
  11. 29:15Premature Optimizations
  12. 30:03Simplification by Abstraction
  13. 32:02Debate between a Structure of Arrays and Arrays of Structure
  14. 33:13Inter Particle Locality
  15. 38:38What Is a Cube
  16. 41:45Generic Namespaces
  17. 42:32Policy Aggregator
  18. 43:15Sequential Program
  19. 44:29Simulation Grid
  20. 46:27Advance the Simulation
  21. 51:17Complexity
  22. 52:47Performance
  23. 53:27Normalized Execution Time
  24. 59:04Final Things
  25. 1:00:00Final Remarks
  26. 1:02:08Do Not Optimize
  27. 1:03:48Regression Testing
~/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.