~/talk

Build Scripts with Perfect Dependencies

Talkat OOPSLA 2020 · 2020-11-15..11-20· [developer-experience]
links:none on file
links:none on file
links:none on file
slides:none on file

Build system that requires no author-specified deps: Rattle records per-command dependencies via file-system tracing, speculates parallel execution from previous runs, and aborts when it detects read/write or write/write hazards. Evaluation uses five real projects (including redis) across 26 commits and shows incremental builds match Make’s performance and 4-thread speedup except for the initial cold build when no speculative info exists. Implementation is a Haskell script API that emits shell commands and learns dependencies at runtime.

AI-written summary · about

  1. 0:00Intro
  2. 0:18What is a build system?
  3. 0:40An alternative build system
  4. 1:02Advantages of a build system
  5. 3:04Disadvantages of a shell script
  6. 6:39Incrementality in Rattle
  7. 7:00Parallelism in Rattle: Explicit
  8. 7:26Parallelism in Rattle: Speculation
  9. 9:09Dependencies from File System Tracing
  10. 10:08Hazard detection
  11. 12:16Evaluation: Redis w/ one thread
  12. 13:15Evaluation: Redis w/ four threads
  13. 14:06Further discussion
~/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.