Thread overview | ||||||
---|---|---|---|---|---|---|
|
September 20, 2010 [Issue 4900] New: compiler still slow due to a single function | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=4900 Summary: compiler still slow due to a single function Product: D Version: D2 Platform: Other OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody@puremagic.com ReportedBy: schveiguy@yahoo.com --- Comment #0 from Steven Schveighoffer <schveiguy@yahoo.com> 2010-09-20 05:20:20 PDT --- As shown in bug 4721, there is still a problem in the compiler when compiling projects with a large number of symbols. Here is a profiled version of dmd 2.048 compiling unit tests for dcollections: Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls ms/call ms/call name 80.31 11.99 11.99 19000 0.63 0.63 searchfixlist 0.67 12.09 0.10 203173 0.00 0.00 StringTable::search(char const*, unsigned int) 0.60 12.18 0.09 369389 0.00 0.00 Lexer::scan(Token*) 0.54 12.26 0.08 953613 0.00 0.00 ScopeDsymbol::search(Loc, Identifier*, int) 0.47 12.33 0.07 1449798 0.00 0.00 calccodsize ... Note the searchfixlist function uses 80% of the runtime (the compiler takes 17 seconds to produce a result), but only has 19000 calls. Compare that to other functions which have orders of magnitude more calls but nothing takes more than 0.7%. An examination of the searchfixlist function shows that it is a search through a linked list. I'm unsure if the same methodology (replace with hash) can be applied as was in issue 4721, but it would be good to investigate possible ideas to replace the algorithm there. I opened this as a separate bug, because the original bug in 4721 was fixed. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 23, 2010 [Issue 4900] compiler still slow due to a single function | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steven Schveighoffer | http://d.puremagic.com/issues/show_bug.cgi?id=4900 Walter Bright <bugzilla@digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzilla@digitalmars.com --- Comment #1 from Walter Bright <bugzilla@digitalmars.com> 2010-11-23 12:57:31 PST --- Yes, the linked list should be replaced with a hashtable. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 26, 2010 [Issue 4900] compiler still slow due to a single function | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steven Schveighoffer | http://d.puremagic.com/issues/show_bug.cgi?id=4900 bearophile_hugs@eml.cc changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bearophile_hugs@eml.cc --- Comment #2 from bearophile_hugs@eml.cc 2010-11-25 20:19:58 PST --- See also bug 5276 for another possible (smaller) benchmark. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
May 11, 2012 [Issue 4900] compiler still slow due to a single function | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steven Schveighoffer | http://d.puremagic.com/issues/show_bug.cgi?id=4900 Trass3r <mrmocool@gmx.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mrmocool@gmx.de --- Comment #3 from Trass3r <mrmocool@gmx.de> 2012-05-11 21:50:48 CEST --- Is this still the case? There was this commit: https://github.com/D-Programming-Language/dmd/commit/b329817 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation