Deprecating Libstdc++ Profile Mode

François Dumont frs.dumont@gmail.com
Sun Sep 18 20:31:00 GMT 2016


     No problem about it. I always considered this mode as a good idea 
but never got/took time to work on it. It already provides some hint on 
how application should be changed but without any clear report of 
someone using it I understand that it is preferable to get rid of it.

François


On 17/09/2016 00:17, Jonathan Wakely wrote:
> Libstdc++ features a "Profile Mode", see
> https://gcc.gnu.org/onlinedocs/libstdc++/manual/profile_mode.html
>
> We've been carrying thousands of lines of code for years, with no
> useful tools for doing anything with the performance instrumentation.
>
> Furthermore, many of the profile mode containers don't even contain
> any instrumentation (e.g. array, bitset, deque, forward_list). This
> means we have to maintain them, and add new functions as the standard
> evolves, for absolutely no benefit. (In fact we haven't been doing
> that, so the profile mode containers are missing lots of C++14 and
> C++17 features).
>
> I know François has objected to removing the profile mode before, but
> all that's happened since then is some refactoring, and no progress on
> any tools to analyse the profile data and do anything with it.
>
> I propose removing the Profile Mode containers and adding SystemTap
> trace points to the normal containers instead. That will allow users
> to measure the same actions as Profile Mode tracks, but without any
> ABI impact, or needing to recompile the entire program. If anybody
> ever comes up with any useful heuristics to analyse the profile data
> they can use data recorded by SystemTap, instead of Profile Mode.
>
> So I want to deprecate Profile Mode for GCC 7, and remove it at a
> future date when all the same profiling data (and probably even more)
> can be gathered using SystemTap instead.
>
> I don't want to keep this code in the repository even if somebody else
> is willing to maintain it. Let's please just remove it.
>
>



More information about the Libstdc++ mailing list