~/talk

Bootstrapping the Web with Scala Native

Talkat Strange Loop 2017 · 2017-09-28..09-30· [scala, devops-and-delivery]
slides:none on file

Builds a Scala Native CGI app, packages it with multistage Docker builds, and scores concrete performance: simple CGI averages ~40 ms under light load, 99th percentile exceeds 1 s at ~150 users and tops near 400 req/s, while a Python CGI hits ~136 ms. Replacing CGI with FastCGI plus a tiny Go proxy drops median latency to ~4 ms and peaks ~1,500 req/s. Adding a libuv binding and multiplexed I/O reaches 4166 req/s with median ~56 ms, showing the approach works.

AI-written summary · about

  1. 0:00Intro
  2. 2:05About me
  3. 2:57What is Scala Native
  4. 4:30C struct types
  5. 7:29Whats a server
  6. 8:04System calls
  7. 10:43Scala Native
  8. 13:57The Catch
  9. 15:05Fork
  10. 15:55Downsides
  11. 17:36UNIX Hackers
  12. 17:55HTTP is a Solution
  13. 18:20How to Get a Stable HTTP Server
  14. 18:32File Descriptors
  15. 19:05HTTP
  16. 19:47What we need
  17. 20:09Apache
  18. 21:29CGI Bin Handler
  19. 21:50Multistage docker builds
  20. 22:13Dynamically linked libraries
  21. 22:36Flask Sinatra
  22. 23:47Implementation
  23. 25:05Response Time
  24. 26:37How can we do better
  25. 27:36multiplex protocols
  26. 28:54HTTP to CGI
  27. 29:08Why CGI is better
  28. 31:10Parse HTTP headers
  29. 33:19Netcat
  30. 33:54nginx
  31. 35:11multiplexed IO
  32. 36:39Nodejs event loop
  33. 37:17Linked UV
  34. 38:45Gatling
  35. 39:50Network weirdness
  36. 40:20Conclusion
~/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.