~/talk

How to Get Rid of Recursion, or How My Code Ended Up in Google

TalkinRussianat Mobius 2024 Spring · 2024-05-23..06-01
links:none on file
slides:none on file

A comparison of several techniques for eliminating or optimizing recursion in code, with measured performance numbers for each approach: tail recursion, DeepRecursiveFunction, using a queue, a TreeIterator, and Sequence.yield. During the study the presenter found a major performance bug in the standard ViewGroup.descendant function, explains how it was discovered, and describes contributing a fix to Google that sped the function up by hundreds of times and was accepted.

AI-written summary · about

  1. 0:00Introduction
  2. 3:30Last year's results
  3. 4:55What recursion is and why avoid it
  4. 7:11Tail recursion limits
  5. 11:56Recursion problems in JVM
  6. 13:00Hierarchy traversal without recursion
  7. 15:29Lazy iterator for hierarchies
  8. 19:05Universal recursion removal
  9. 28:25Google problem and solution
  10. 37:28Why viance is slow
  11. 40:21When to use recursion
  12. 41:26Q&A
~/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.