~/talk

Outperforming Imperative with Pure Functional Languages

Talkat Strange Loop 2021 · 2021-09-30..10-02· [compilers-and-language-design]
slides:none on file

A new language called rock compiles pure functional code to binaries with LLVM, unboxed values and static reference counting and uses opportunistic in-place mutation so immutable code can compile down to efficient in-place updates. Migration at NoRedInk shows Haskell services run about 10x faster than Ruby. Benchmarks sort 10 million numbers over 100 runs: rock’s pure functional quicksort outperforms JavaScript, Haskell, Java and Go (behind only C++), demonstrating concrete compiler tricks and memory strategies that deliver real speed.

AI-written summary · about

  1. 0:00Start
  2. 3:23EXECUTION MODEL
  3. 5:04MEMORY MANAGEMENT
  4. 6:11Static Refcounting
  5. 7:25LANGUAGE OVERHEAD
  6. 8:40SIDE EFFECTS
  7. 10:22OVERHEAD OF WRAPPED EFFECTS?
  8. 17:11IMPERATIVE HASKELL
  9. 19:37TWEAKS AFFECT OVERHEAD
  10. 20:36INTEROP
  11. 21:15OPTIMIZERS
  12. 22:08TAIL-CALL OPTIMIZATION
  13. 23:55OPPORTUNISTIC IN-PLACE MUTATION
  14. 24:43STATIC IN-PLACE DETECTION
  15. 29:51LLVM OPTIMIZER
  16. 31:31Performance Considerations
~/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.