Manually iterating frames and accessing name, source file, source line is extremely slow. However printing all the frames with default function out stream is not. By slow, I mean several seconds for each frame function access.
After cheching the code I can see that boost::stacktrace::detail::debugging_symbols object is created for every and each call to name(), source_name(), source_line() which simply unusable in real world app.
Manually iterating frames and accessing name, source file, source line is extremely slow. However printing all the frames with default function out stream is not. By slow, I mean several seconds for each frame function access.
After cheching the code I can see that boost::stacktrace::detail::debugging_symbols object is created for every and each call to name(), source_name(), source_line() which simply unusable in real world app.
I would highly suggest to cache the frame data on frame creation, with single boost::stacktrace::detail::debugging_symbols object.