public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: Deprecating Libstdc++ Profile Mode
       [not found] ` <f579695d-2944-526c-c451-bb67cffe7cfc@gmail.com>
@ 2016-09-26 10:45   ` Jonathan Wakely
  0 siblings, 0 replies; only message in thread
From: Jonathan Wakely @ 2016-09-26 10:45 UTC (permalink / raw)
  To: gcc, gcc-patches; +Cc: libstdc++, François Dumont

[-- Attachment #1: Type: text/plain, Size: 2331 bytes --]

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.
>>
>>
>

[-- Attachment #2: patch.txt --]
[-- Type: text/x-patch, Size: 805 bytes --]

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>
 
 <!-- .................................................................. -->

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-09-26 10:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20160916221724.GS17376@redhat.com>
     [not found] ` <f579695d-2944-526c-c451-bb67cffe7cfc@gmail.com>
2016-09-26 10:45   ` Deprecating Libstdc++ Profile Mode Jonathan Wakely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).