diff mbox

Deprecating Libstdc++ Profile Mode

Message ID 20160926103528.GN17376@redhat.com
State New
Headers show

Commit Message

Jonathan Wakely Sept. 26, 2016, 10:35 a.m. UTC
As discussed on the libstdc++ list (see below) I'm formally
deprecating the Profile Mode, and will commit this patch to the
wwwdocs.

I don't plan to actually remove the code until SystemTap trace points
have been added to the rest of the library to make the Profile Mode
instrumentation redundant, but I want to announce the deprecation now.


On 18/09/16 22:31 +0200, François Dumont wrote:
>    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.
>>
>>
>
diff mbox

Patch

Index: htdocs/gcc-7/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-7/changes.html,v
retrieving revision 1.14
diff -u -r1.14 changes.html
--- htdocs/gcc-7/changes.html	19 Sep 2016 18:29:16 -0000	1.14
+++ htdocs/gcc-7/changes.html	26 Sep 2016 10:30:55 -0000
@@ -28,6 +28,10 @@ 
       <code>has_trivial_default_constructor</code>,
       <code>has_trivial_copy_constructor</code> and
       <code>has_trivial_copy_assign</code> have been removed.</li>
+  <li>The libstdc++
+      <a href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/profile_mode.html">Profile
+      Mode</a> has been deprecated and will be removed in a future version.
+  </li>
 </ul>
 
 <!-- .................................................................. -->