You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ss << extrapolation_error_string << ", when looking up transform from frame [" << lookupFrameString(source_id) << "] to frame [" << lookupFrameString(target_id) << "]";
*error_string = ss.str();
}
However, even when error_string is null, pointer to extrapolation_error_string is still passed to gather(), which means the stringstream operations are performed no matter what the value of error_string is.
And the string operations aren't exactly cheap (this is a flamegraph from a profiler, x axis is total time accumulated over all calls to the function):
The text was updated successfully, but these errors were encountered:
Okay, this simple case is solved by #469. But there's also a great performance loss due to the error string construction in lookupTransform where you can't choose to not construct the strings. I'm just thinking about an interface that would allow to tell that the user is not interested in the error string, but just in the exception type...
extrapolation_error_string
geometry2/tf2/src/buffer_core.cpp
Line 361 in 0355229
is only read when
error_string
is non-null:geometry2/tf2/src/buffer_core.cpp
Lines 461 to 466 in 0355229
However, even when
error_string
is null, pointer toextrapolation_error_string
is still passed togather()
, which means the stringstream operations are performed no matter what the value oferror_string
is.And the string operations aren't exactly cheap (this is a flamegraph from a profiler, x axis is total time accumulated over all calls to the function):
The text was updated successfully, but these errors were encountered: