Slow handling of C++ symbol names
Michael Elizabeth Chastain
mec.gnu@mindspring.com
Wed Dec 3 22:30:00 GMT 2003
Here is a new table:
gdb memory utime stime elapsed
5.3 263M 85.47 26.80 189.68
6.0 264M 83.76 26.08 187.90
H19 263M 83.44 25.99 190.00
H21 46M 7.37 2.07 9.46
H30 46M 2.72 0.29 3.03
H19 is gdb HEAD 2003-11-19 16:00:00 UTC.
This has the exact same demangler as gdb 6.0 (modulo comments).
H21 is gdb HEAD 2003-11-21 17:00:00 UTC.
This has the old demangler with two bug-fix patches.
H01 is gdb HEAD 2003-11-30 06:08:24 UTC.
This is the new demangler.
Nothing happened to performance from 5.3 to 6.0 or from 6.0 to H19.
Something happened between H19 and H21. So I did:
cvs diff -u -D "2003-11-19 16:00:00 UTC" -D "2003-11-21 17:00:00 UTC"
This gives about 2000 lines of changes from H19 to H21, very manageable.
Nothing changed in gdb c++ support. All the good changes were in
libiberty/cp-demangle.c. So I believe the bug fixes in the old
demangler were very effective. Either that, or they introduced new bugs
which cause gdb to get to its first prompt a lot sooner.
Something happened from H19 to H30. I don't know if it's
gdb or the demangler, but I'm inclined to credit the demangler.
Michael C
More information about the Gdb
mailing list