~/talk

Design Challenges of Bloop

Talkat Scala World 2019 · 2019-09-11..09-13· [developer-experience]
links:none on file
slides:none on file

Bloop is a background build server that compiles, tests, runs and provides diagnostics over BSP and a custom RPC, powering Metals and IDEs while integrating with SBT by reading JSON target files. It enforces compiler isolation via immutable inputs and per-client output dirs, implements nonblocking transactional compilation to let concurrent clients share work, shows 200–500 ms incremental compile times on medium projects, uses a randomized test suite of ~11,000 lines and a ~40,000 LOC repo, and reports 2x to 15s speedups on real Scala benchmarks.

AI-written summary · about

  1. 0:00Bloop introduction
  2. 4:26Project credits
  3. 7:18Bloop architecture
  4. 11:56Concurrent clients
  5. 14:01Compiler isolation
  6. 24:08Shared compilation
  7. 28:47Testing strategies
  8. 30:12Performance benchmarks
  9. 34:09Performance gains
  10. 37:40Caching policies
  11. 38:24Centralized build server
  12. 41:16Pipelining optimizations
  13. 43:46Summary
  14. 44:28Future work
~/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.