~/talk

An Adventure in Modern C++ Library Design

Talkat C++Now 2024 · 2024-04-29..05-03· [software-architecture]
links:none on file
slides:none on file

A file‑based time series database optimized for market data supports live intraday querying and returns an outcome-wrapped update_status (processed, complete, or none_for_now) so queries can stream without blocking. The library layers a safe parsing operation update_as over erased byte buffers, uses CPOs/ADL and std::variant/CTAD, models queries as incremental streams, and implements a dynamic branch algorithm to expand hierarchical queries. The new stream framework solves the “snapshot aligned to last transaction begin” use case, was implemented, tested and deployed to the client within a week.

AI-written summary · about

  1. 0:00Introduction to the problem
  2. 0:37Time series database overview
  3. 1:37Optimizing for live queries
  4. 3:07Database interaction code
  5. 4:58Handling live intraday data
  6. 6:24Sharding and merging data
  7. 8:32Solving merge sort issues
  8. 10:41Decoupling time and data
  9. 12:45Type safety in queries
  10. 14:03Abstracting query concepts
  11. 16:47Customizable function protocols
  12. 18:54Incremental computation
  13. 20:59Filtering in stream model
  14. 22:58Hierarchical query expansion
  15. 25:45Rethinking the stream model
  16. 28:47Defining the run operation
  17. 32:32Implementing customization points
  18. 36:11Expression equivalence
  19. 39:26Revisiting snapshot problems
  20. 44:45The Branch algorithm
  21. 48:20Implementing filter stream
  22. 52:15Metaprogramming challenges
  23. 57:45Implementing filter logic
  24. 1:01:46Object construction issues
  25. 1:04:11C++ 17 and 23 features
  26. 1:06:54Stream composition conclusion
  27. 1:10:10Q&A and final thoughts
~/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.