Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
Description
When converting a short performance-critical function to return a Result (instead of returning a Status and filling a out-parameter), I noticed a catastrophic performance regression (around 2x or 3x slower).
It seems the current Result implementation is very slow, for several reasons:
- it imposes "safety" features even in release mode, for example on the critical path of move operators
- the underlying mpark variant implementation is not optimized for performance-critical data structures
Attachments
Issue Links
- links to