[Issue 2396] -O causes very long execution time on foreach loop of large array of structs

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Jun 23 03:46:38 PDT 2011


http://d.puremagic.com/issues/show_bug.cgi?id=2396


Don <clugdbug at yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |clugdbug at yahoo.com.au


--- Comment #4 from Don <clugdbug at yahoo.com.au> 2011-06-23 03:41:47 PDT ---
On DMD2.053 and later, the literal needs to be declared with 'enum' rather than
'static const' to expose the bug.

It's slow because in this case, there is a single expression consisting of
14013 comma expressions, and several places in the backend use algorithms which
are in O(commadepth ^^ 2).
One of the slowest is accumrd() in gflow.c. 

There is also something slow in loopopt(), boolopt() and in builddags().

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list