From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8479 invoked by alias); 17 Aug 2015 13:27:34 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 8462 invoked by uid 89); 17 Aug 2015 13:27:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.1 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 X-HELO: smtp.eu.adacore.com Received: from mel.act-europe.fr (HELO smtp.eu.adacore.com) (194.98.77.210) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Mon, 17 Aug 2015 13:27:31 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id B492728F1A6E; Mon, 17 Aug 2015 15:27:27 +0200 (CEST) Received: from smtp.eu.adacore.com ([127.0.0.1]) by localhost (smtp.eu.adacore.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ejiSh8r8tqcC; Mon, 17 Aug 2015 15:27:27 +0200 (CEST) Received: from [10.10.8.12] (unknown [10.10.8.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.eu.adacore.com (Postfix) with ESMTPSA id 54CD228F1A24; Mon, 17 Aug 2015 15:27:27 +0200 (CEST) Subject: Re: [PATCH] Add proper handling for non-local references in nested functions To: Doug Evans References: <54F47563.4050103@adacore.com> <54FF0D05.70907@redhat.com> <550C1170.9070208@adacore.com> <55685B60.3000004@redhat.com> <55775EB0.4080701@adacore.com> <55AF5F7E.5000600@adacore.com> <20150722173957.7ed51f18@pinnacle.lan> <55B0C583.6050601@adacore.com> <55BB538B.7090104@adacore.com> Cc: Kevin Buettner , gdb-patches@sourceware.org From: Pierre-Marie de Rodat Message-ID: <55D1E13E.2070207@adacore.com> Date: Mon, 17 Aug 2015 13:27:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2015-08/txt/msg00419.txt.bz2 On 08/15/2015 08:20 AM, Doug Evans wrote: > If you want to see if you can see the 4% regression too, > I've updated the wiki with some instructions to get one > using the perf testsuite (hopefully) quickly: > > https://sourceware.org/gdb/wiki/GDBPerfTestsuite Thank you very much for this! :-) > Before (trunk): > > bash$ sh runperf.sh > bash$ cat perftest.sum > gmonster1:gmonster-pervasive-typedef cpu_time 10-cus 0.007923 > gmonster1:gmonster-pervasive-typedef cpu_time 100-cus 0.061346 > gmonster1:gmonster-pervasive-typedef cpu_time 1000-cus 0.7087322 > gmonster1:gmonster-pervasive-typedef cpu_time 10000-cus 7.6932424 > gmonster1:gmonster-pervasive-typedef wall_time 10-cus 0.00795402526855 > gmonster1:gmonster-pervasive-typedef wall_time 100-cus 0.061425447464 > gmonster1:gmonster-pervasive-typedef wall_time 1000-cus 0.709506464005 > gmonster1:gmonster-pervasive-typedef wall_time 10000-cus 7.70150403976 > gmonster1:gmonster-pervasive-typedef vmsize 10-cus 110600 > gmonster1:gmonster-pervasive-typedef vmsize 100-cus 119276 > gmonster1:gmonster-pervasive-typedef vmsize 1000-cus 206218 > gmonster1:gmonster-pervasive-typedef vmsize 10000-cus 1079663 > gmonster2:gmonster-ptype-string cpu_time 10-sos 0.2961394 > gmonster2:gmonster-ptype-string cpu_time 100-sos 1.5917764 > gmonster2:gmonster-ptype-string cpu_time 1000-sos 20.6852 > gmonster2:gmonster-ptype-string wall_time 10-sos 0.296435832977 > gmonster2:gmonster-ptype-string wall_time 100-sos 1.5934440136 > gmonster2:gmonster-ptype-string wall_time 1000-sos 20.7090939522 > gmonster2:gmonster-ptype-string vmsize 10-sos 283208 > gmonster2:gmonster-ptype-string vmsize 100-sos 702776 > gmonster2:gmonster-ptype-string vmsize 1000-sos 4908408 > > After (trunk + patch): > > bash$ sh runperf.sh > bash$ cat perftest.sum > gmonster1:gmonster-pervasive-typedef cpu_time 10-cus 0.0077614 > gmonster1:gmonster-pervasive-typedef cpu_time 100-cus 0.063923 > gmonster1:gmonster-pervasive-typedef cpu_time 1000-cus 0.7615324 > gmonster1:gmonster-pervasive-typedef cpu_time 10000-cus 7.898073 > gmonster1:gmonster-pervasive-typedef wall_time 10-cus 0.00778799057007 > gmonster1:gmonster-pervasive-typedef wall_time 100-cus 0.0640145301819 > gmonster1:gmonster-pervasive-typedef wall_time 1000-cus 0.762880802155 > gmonster1:gmonster-pervasive-typedef wall_time 10000-cus 7.90763082504 > gmonster1:gmonster-pervasive-typedef vmsize 10-cus 108520 > gmonster1:gmonster-pervasive-typedef vmsize 100-cus 117200 > gmonster1:gmonster-pervasive-typedef vmsize 1000-cus 204180 > gmonster1:gmonster-pervasive-typedef vmsize 10000-cus 1077580 > gmonster2:gmonster-ptype-string cpu_time 10-sos 0.3188818 > gmonster2:gmonster-ptype-string cpu_time 100-sos 1.7196954 > gmonster2:gmonster-ptype-string cpu_time 1000-sos 21.5444378 > gmonster2:gmonster-ptype-string wall_time 10-sos 0.319199228287 > gmonster2:gmonster-ptype-string wall_time 100-sos 1.72196946144 > gmonster2:gmonster-ptype-string wall_time 1000-sos 21.5659247875 > gmonster2:gmonster-ptype-string vmsize 10-sos 281128 > gmonster2:gmonster-ptype-string vmsize 100-sos 700628 > gmonster2:gmonster-ptype-string vmsize 1000-sos 4906312 > > 3-4% isn't much, but I wouldn't have expected any slowdown. > I haven't ruled out the problem is elsewhere and not with > the patch, but I have repeated the results a couple of times, > so at least it's consistent. :-) Arg, I cannot reproduce the difference: here are the results on my machine (still x86_64-linux) for the same testing: trunk: gmonster1:gmonster-pervasive-typedef cpu_time 10-cus 0.0046084 gmonster1:gmonster-pervasive-typedef cpu_time 100-cus 0.0371068 gmonster1:gmonster-pervasive-typedef cpu_time 1000-cus 0.4631964 gmonster1:gmonster-pervasive-typedef cpu_time 10000-cus 5.078225 gmonster1:gmonster-pervasive-typedef wall_time 10-cus 0.00461478233337 gmonster1:gmonster-pervasive-typedef wall_time 100-cus 0.0370876789093 gmonster1:gmonster-pervasive-typedef wall_time 1000-cus 0.462884044647 gmonster1:gmonster-pervasive-typedef wall_time 10000-cus 5.0744289875 gmonster1:gmonster-pervasive-typedef vmsize 10-cus 154345 gmonster1:gmonster-pervasive-typedef vmsize 100-cus 163028 gmonster1:gmonster-pervasive-typedef vmsize 1000-cus 249839 gmonster1:gmonster-pervasive-typedef vmsize 10000-cus 1118777 gmonster2:gmonster-ptype-string cpu_time 10-sos 0.1663808 gmonster2:gmonster-ptype-string cpu_time 100-sos 1.0682334 gmonster2:gmonster-ptype-string cpu_time 1000-sos 15.5775406 gmonster2:gmonster-ptype-string wall_time 10-sos 0.166248464584 gmonster2:gmonster-ptype-string wall_time 100-sos 1.06737132072 gmonster2:gmonster-ptype-string wall_time 1000-sos 15.5648618221 gmonster2:gmonster-ptype-string vmsize 10-sos 278092 gmonster2:gmonster-ptype-string vmsize 100-sos 697980 gmonster2:gmonster-ptype-string vmsize 1000-sos 4902260 trunk + patch: gmonster1:gmonster-pervasive-typedef cpu_time 10-cus 0.0045336 gmonster1:gmonster-pervasive-typedef cpu_time 100-cus 0.0370356 gmonster1:gmonster-pervasive-typedef cpu_time 1000-cus 0.4546976 gmonster1:gmonster-pervasive-typedef cpu_time 10000-cus 5.0182104 gmonster1:gmonster-pervasive-typedef wall_time 10-cus 0.004541015625 gmonster1:gmonster-pervasive-typedef wall_time 100-cus 0.0370160579681 gmonster1:gmonster-pervasive-typedef wall_time 1000-cus 0.454346561432 gmonster1:gmonster-pervasive-typedef wall_time 10000-cus 5.0142261982 gmonster1:gmonster-pervasive-typedef vmsize 10-cus 154429 gmonster1:gmonster-pervasive-typedef vmsize 100-cus 163112 gmonster1:gmonster-pervasive-typedef vmsize 1000-cus 249923 gmonster1:gmonster-pervasive-typedef vmsize 10000-cus 1118861 gmonster2:gmonster-ptype-string cpu_time 10-sos 0.1646056 gmonster2:gmonster-ptype-string cpu_time 100-sos 1.050177 gmonster2:gmonster-ptype-string cpu_time 1000-sos 15.346854 gmonster2:gmonster-ptype-string wall_time 10-sos 0.16447520256 gmonster2:gmonster-ptype-string wall_time 100-sos 1.04933385849 gmonster2:gmonster-ptype-string wall_time 1000-sos 15.3345376492 gmonster2:gmonster-ptype-string vmsize 10-sos 277932 gmonster2:gmonster-ptype-string vmsize 100-sos 697880 gmonster2:gmonster-ptype-string vmsize 1000-sos 4902008 I re-ran the tests twice, but the only think I get is a really tiny (but consistent) performance improvement with the patch… which does not make sense! It's concerning as 4% isn't really neglectable and as I would not have expected this neither. So I'm not sure what to do at this point. -- Pierre-Marie de Rodat