~/talk

Runtime Polymorphism: Back to the Basics

Talkat ACCU 2018 · 2018-04-11..04-14· [software-architecture]
links:none on file
slides:none on file

Explores concrete designs for runtime polymorphism beyond inheritance, implemented in the Dyno library, with policy-driven storage: heap-based remote storage, in-object small buffer optimization, always-local fixed buffer, non-owning view, and shared pointers with copy-on-write shared storage. Shows heap allocations dominate cost in microbenchmarks so SBO or local storage often removes allocations; one layout reduces pointer hops and sometimes enables unexpected inlining that outperforms classic vtable dispatch. Proposes reflection/metaclass hooks to generate vtables and simplify safe, efficient type erasure.

AI-written summary · about

  1. 0:00Introduction and motivation
  2. 1:30When runtime polymorphism is needed
  3. 4:21Problems with inheritance
  4. 14:50Conceptual interface without inheritance
  5. 18:29Fat pointer approach to runtime polymorphism
  6. 27:11Small buffer optimization for storage
  7. 39:12Local storage without heap allocation
  8. 49:20Non-owning storage with string_view-like semantics
  9. 59:25Shared remote storage and copy-on-write
  10. 1:05:39V-table inlining and optimization
  11. 1:18:34Unexpected inlining benefits from pointer hops
  12. 1:21:42Lessons learned and practical advice
  13. 1:26:26Future with reflection and metaclasses
  14. 1:33:12Summary and conclusion
~/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.