This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Add proper handling for non-local references in nested functions


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]