~/talk

Algorithm Performance in the New Machine Age

Talkat JavaDay Ukraine 2017 · 2017-11-04..11-05· [machine-learning]
slides:none on file

Benchmarking with JMH and perf counters shows linked lists blow CPU caches as size grows (tests at 1K, 7K, 63K, 511K). L1 ≈ 1 ns, L2 ≈ 4 ns, L3 ≈ 60 ns, main memory >100 ns so cache misses dominate (roughly a 300x main memory penalty). A primitive array traversal stays linear and yields ~8 ns vs 28 ns for a cache-unfriendly allocation pattern. Recommendation: reduce memory footprint and improve data locality or copy dynamic maps into immutable, contiguous layouts for predictable speedups.

AI-written summary · about

  1. 0:00Intro
  2. 1:14Your Father's Complexity
  3. 6:01What is Computational Complexity?
  4. 10:32Who Is Your Father? Another Candidate
  5. 12:14What Josh Told Me...
  6. 14:02Which List Implementation?
  7. 17:55pre-1980
  8. 21:06The Golden Age of Complexity Analysis
  9. 23:35Keeping the Cores Running Today
  10. 24:14The Memory Hierarchy
  11. 29:04Stride Prefetching
  12. 32:23How Does Caching Play With Complexity? First issue: cache capacity
  13. 36:28What's Going On?
  14. 38:00Primitive Array
  15. 39:54Populating LinkedList "Naturally"
  16. 43:04Poor Unloved Linkedlist...
  17. 44:25HashMap collision
  18. 47:15Improving Data Locality
  19. 49:26Conclusion, of sorts...
~/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.