~/talk

Developing the Bloomberg Terminal -- Local performance & measurement techniques

slides:none on file

Bloomberg Terminal combines a C++ data layer with embedded Chromium/V8 to handle ~10–50k updates/sec across 100–200 windows; the pipeline uses a compact NaN-boxing datum variant, polymorphic allocators and a monotonic buffer resource to cut heap calls (example: an 80-char unique‑chars test drops from 86 mallocs and 13.3μs to one allocation then to zero by using a stack buffer). Tooling records and replays live push traffic for reproducing issues; WebAssembly prototypes run within ~40% of native and sometimes beat the native/JS boundary.

AI-written summary · about

  1. 0:00Introduction
  2. 1:56Agenda
  3. 3:09Background
  4. 4:40What is it
  5. 5:41Server side
  6. 7:36Backend
  7. 8:26Lua scripting engine
  8. 9:05Application container processes
  9. 9:40Metrics subsystem
  10. 11:06Data layer
  11. 11:51Data layer components
  12. 12:53Combining data
  13. 13:41DataNow Inspector
  14. 14:21Datum
  15. 15:08Custom data types
  16. 16:21What is datum
  17. 17:08Can we do better
  18. 17:50Floatingpoint format
  19. 18:55String optimization
  20. 20:18Polymorphic allocators
  21. 23:15How does this work
  22. 24:48Custom allocator
  23. 26:41Monotonic Buffer
  24. 31:14Data Layer Performance
  25. 31:57Portable Columns
  26. 32:48Worksheet Expressions
  27. 33:54Coalescing
  28. 35:00Chromium
  29. 35:19UI
  30. 38:04Bindings
  31. 38:47Challenges
  32. 40:33Minimize GC
  33. 42:02Life cycle
  34. 42:33Application
  35. 43:04Disposal pattern
  36. 46:23Overall CPU load
  37. 46:40Bloomberg app
  38. 47:22Bloomberg 3D view
  39. 48:01Memory usage
  40. 49:10Cake view
  41. 49:40Live memory usage
  42. 50:06Measuring responsiveness
  43. 51:22Instant message system
  44. 51:36JavaScript levels
  45. 52:59UI Timing
  46. 56:38Playable
  47. 57:00Free integration testing
  48. 57:29WebAssembly
  49. 58:30What is WebAssembly
  50. 59:13C toolchain
  51. 59:46How do we hook up to it
~/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.