~/talk

Optimization Tips - Mo' Hustle Mo' Problems

Talkat CppCon 2014 · on Sunday, 2014-09-07· [web-performance]
slides:none on file

Slides and hhvm source show concrete wins and losses: changing GCC flags flips a 5% regression in GCC 4.8 to a 2% win; inlining one implicitly generated destructor yields CP instructions −0.3% / CPU time +0.4% because of instruction-cache pressure; defanging never_inline gives +0.9% instructions / +1.6% CPU time while defanging always_inline gives −0.2% instructions / +0.8% CPU time. Practical builds: lazy refcount allocation, skip-last-decrement, colocated counters or saturated small counters, and separating allocator metadata reduce icache and write-amplification in large apps.

AI-written summary · about

  1. 0:00Intro
  2. 0:53Optimization
  3. 2:16Inlining
  4. 5:06Constructors
  5. 9:35Cache
  6. 12:11Inline Destructors
  7. 18:27Always in Line
  8. 24:48Atomic Reference
  9. 28:22Atomic Weapons
  10. 33:04preparatory comments
  11. 34:17lazy reference count allocation
  12. 37:15alternative
  13. 38:12performance dynamics
  14. 39:57hotter functions
  15. 42:38zero is special
  16. 46:04Conclusion
  17. 46:58Keeping the last decrement
  18. 50:57Using dedicated allocators
  19. 52:30Smaller counters
  20. 53:17Summary
~/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.