From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 53308 invoked by alias); 26 Sep 2016 10:35:42 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 53281 invoked by uid 89); 26 Sep 2016 10:35:41 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: =?ISO-8859-1?Q?No, score=-4.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=containers, gathered, Franois, fran=e7ois?= X-Spam-User: qpsmtpd, 3 recipients X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 26 Sep 2016 10:35:31 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 1D30A7F368; Mon, 26 Sep 2016 10:35:30 +0000 (UTC) Received: from localhost (ovpn-116-23.ams2.redhat.com [10.36.116.23]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u8QAZTZG028936; Mon, 26 Sep 2016 06:35:29 -0400 Date: Mon, 26 Sep 2016 10:45:00 -0000 From: Jonathan Wakely To: gcc@gcc.gnu.org, gcc-patches@gcc.gnu.org Cc: libstdc++@gcc.gnu.org, =?iso-8859-1?Q?Fran=E7ois?= Dumont Subject: Re: Deprecating Libstdc++ Profile Mode Message-ID: <20160926103528.GN17376@redhat.com> References: <20160916221724.GS17376@redhat.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="qXPE+6hUsFlDAc0e" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Clacks-Overhead: GNU Terry Pratchett User-Agent: Mutt/1.7.0 (2016-08-17) X-SW-Source: 2016-09/txt/msg01802.txt.bz2 --qXPE+6hUsFlDAc0e Content-Type: text/plain; charset=iso-8859-1; format=flowed Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-length: 2328 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. >> >> > --qXPE+6hUsFlDAc0e Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="patch.txt" Content-length: 805 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 @@ has_trivial_default_constructor, has_trivial_copy_constructor and has_trivial_copy_assign have been removed. +
  • The libstdc++ + Profile + Mode has been deprecated and will be removed in a future version. +
  • --qXPE+6hUsFlDAc0e--