~/talk

Applied modern C++: efficient expression evaluator with type erasure

Talkat Meeting C++ 2025 · 2025-11-06..11-08· [rust]
links:none on file
slides:none on file

A working C++ expression evaluator uses type erasure with SSO and a parser-owned memory arena to store small literals in-place, plus constant simplification to fold constant subtrees, and supports numbers, strings, lists, dates and common functions. Benchmarks show a naive OO AST about 7× slower than raw C++ expression evaluation; the type-erased SSO version narrows that gap (benchmarks report roughly 3–1.2× slower depending on expression complexity) and processes millions of rows practically fast.

AI-written summary · about

  1. 0:00Introduction
  2. 2:28Clinical data evaluator motivation
  3. 8:01Expression evaluation and AST
  4. 10:30Naive OOP node implementation
  5. 14:30OOP performance limits
  6. 14:52Type erasure overview
  7. 18:51Type erasure with SSO
  8. 23:10SSO strategy improvements
  9. 33:37SSO for literal and variable nodes
  10. 35:06SSO for binary operators
  11. 37:12Benchmark results
  12. 38:16Supported operations
  13. 39:44Constant simplification
  14. 40:27Project learnings
  15. 41:21Q&A
~/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.