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


Doug Evans <xdje42@gmail.com> writes:
> Hi.
> Just a couple of nits.
> Ok with them fixed (not sure what the right fix for the first one is
> though, I could be missing something).
> grep for ^====
>
> Also, I found a 4% performance degradation in a couple of gmonster
> perf tests (e.g., gmonster2-ptype-string.exp).
> Not enough to reject the patch, but it would be interesting
> to find the culprit (assuming it's not a test issue!).

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

You have to be patient with the build, these are big programs.

bash$ sh buildperf.sh

Here are a couple of my results:

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


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