Building a C++/JS Browser for the Financial Markets
summary
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
chapters (16)
- 0:00Introduction and background
- 2:45The Bloomberg terminal
- 5:54System architecture
- 9:32Terminal architecture
- 12:33Data layer optimization
- 15:55Memory optimization nuggets
- 21:48Embedding chromium
- 27:59Chrome process architecture
- 31:53C++ to JS boundary
- 35:36V8 garbage collection
- 38:56JavaScript performance
- 42:53Instrumentation and monitoring
- 47:14Activity monitoring
- 53:42Memory instrumentation
- 58:03Thread local counters
- 1:01:07Lessons learned and QA
related talks
26mEvery Process, Everywhere, All at Once
32mC++ Everywhere with WebAssembly
54mThe Future of the Web-Apps
57mC++ on the Web: Let's have some serious fun.
01h 35mC++ Electronic Trading for Cpp Programmers
27mJavaScript @ Spotify
41mBrowser Internals for JS Devs
33m"The Age of the JavaScript-Powered Desktop
