From: Pierre-Marie de Rodat <derodat@adacore.com>
To: Doug Evans <xdje42@gmail.com>
Cc: Kevin Buettner <kevinb@redhat.com>, gdb-patches@sourceware.org
Subject: Re: [PATCH] Add proper handling for non-local references in nested functions
Date: Mon, 17 Aug 2015 13:27:00 -0000 [thread overview]
Message-ID: <55D1E13E.2070207@adacore.com> (raw)
In-Reply-To: <m34mk12huv.fsf@sspiff.org>
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
next prev parent reply other threads:[~2015-08-17 13:27 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-02 14:36 [PATCH] Add proper handling for non-local references in nested subprograms Pierre-Marie de Rodat
2015-03-10 15:26 ` Pedro Alves
2015-03-20 12:24 ` [PATCH] Add proper handling for non-local references in nested functions Pierre-Marie de Rodat
2015-05-29 12:28 ` Pedro Alves
2015-06-09 21:46 ` Pierre-Marie de Rodat
2015-07-22 9:16 ` Pierre-Marie de Rodat
2015-07-22 14:26 ` Doug Evans
2015-07-22 15:14 ` Pierre-Marie de Rodat
2015-07-26 17:28 ` Doug Evans
2015-07-22 17:58 ` Kevin Buettner
2015-07-23 1:36 ` Kevin Buettner
2015-07-23 10:44 ` Pierre-Marie de Rodat
2015-07-23 13:44 ` Kevin Buettner
2015-07-23 16:14 ` Pierre-Marie de Rodat
2015-07-23 17:22 ` Kevin Buettner
2015-07-23 17:33 ` Pierre-Marie de Rodat
2015-07-23 17:51 ` Kevin Buettner
2015-07-23 18:06 ` Kevin Buettner
2015-07-23 18:23 ` Kevin Buettner
2015-07-24 10:38 ` Pierre-Marie de Rodat
2015-07-26 17:39 ` Doug Evans
2015-07-24 9:26 ` Pierre-Marie de Rodat
2015-07-26 20:35 ` Doug Evans
2015-07-31 10:53 ` Pierre-Marie de Rodat
2015-08-10 8:34 ` Pierre-Marie de Rodat
2015-08-13 15:03 ` Doug Evans
2015-08-14 6:31 ` Pierre-Marie de Rodat
2015-08-15 5:12 ` Doug Evans
2015-08-15 6:21 ` Doug Evans
2015-08-17 13:27 ` Pierre-Marie de Rodat [this message]
2015-08-17 13:33 ` Pierre-Marie de Rodat
2015-08-22 17:30 ` Doug Evans
2015-08-25 12:14 ` Pierre-Marie de Rodat
2015-09-02 23:50 ` Joel Brobecker
2015-09-03 7:31 ` Pierre-Marie de Rodat
2015-09-03 12:40 ` Joel Brobecker
2015-09-03 14:03 ` Pierre-Marie de Rodat
2015-09-16 16:16 ` Doug Evans
2015-09-20 18:20 ` pushed: " Joel Brobecker
2015-08-15 5:13 ` Doug Evans
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55D1E13E.2070207@adacore.com \
--to=derodat@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=kevinb@redhat.com \
--cc=xdje42@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox