This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Deprecating Libstdc++ Profile Mode


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.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]