~/talk

Mongrel Monads, Dirty, Dirty, Dirty

Talkat ACCU 2017 · 2017-04-24..04-29· [software-architecture]
links:none on file
slides:none on file

Compares C, C++98 exceptions, C++11 std::error_code and the WG21 expected proposal, benchmarks on GCC 6.2, Clang 4 and MSVC 2017, and shows throwing a C++ exception across 10 stack frames costs ~30,000 CPU cycles while integer/expected returns cost ~100 cycles. Introduces a Boost-style implementation called outcome that offers option/result/outcome transports, a lightweight, low-overhead ABI-stable library with monadic helpers (opt-in) and extensive tests and assembler-size checks.

AI-written summary · about

  1. 0:00Introduction
  2. 1:18Error handling overview
  3. 2:00C++11 error codes
  4. 8:02C++98 exceptions
  5. 13:01System error design
  6. 24:34Error codes in practice
  7. 30:12Expected proposal
  8. 45:18Rust comparison
  9. 55:30Expected use case
  10. 57:02Performance benchmarks
  11. 1:07:32Benchmark results
  12. 1:18:28Choosing error handling
  13. 1:20:13Boost Outcome proposal
  14. 1:30:15Q&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.