~/talk

Building a C++/JS Browser for the Financial Markets

Talkat CppNorth 2024 · 2024-07-21..07-24· [javascript, c-and-cpp]
slides:none on file

A near‑real‑time browser version of the Bloomberg Terminal is built by embedding Chromium and V8 atop a C++ core that handles a data layer streaming up to 10 million updates/sec peak (300 billion ticks/day) and desktops seeing ~50,000 updates/sec and 150 live widgets. Key wins: polymorphic allocators with a monotonic_buffer_resource cut allocations from 86→8→0 and yield ~4.5–6× speedups; NaN‑boxing packs values to halve worksheet memory; atomic thread‑local counters recover parallel allocation throughput; lightweight instrumentation costs ~0.1% of UI thread time.

AI-written summary · about

  1. 0:00Introduction and background
  2. 2:45The Bloomberg terminal
  3. 5:54System architecture
  4. 9:32Terminal architecture
  5. 12:33Data layer optimization
  6. 15:55Memory optimization nuggets
  7. 21:48Embedding chromium
  8. 27:59Chrome process architecture
  9. 31:53C++ to JS boundary
  10. 35:36V8 garbage collection
  11. 38:56JavaScript performance
  12. 42:53Instrumentation and monitoring
  13. 47:14Activity monitoring
  14. 53:42Memory instrumentation
  15. 58:03Thread local counters
  16. 1:01:07Lessons learned and QA
~/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.