http://d.puremagic.com/issues/show_bug.cgi?id=3370
Summary: Compile-time global dynamic immutable arrays should NOT be constant-folded. Product: D Version: 2.033 Platform: Other OS/Version: Windows Status: NEW Keywords: performance Severity: critical Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: dsim...@yahoo.com --- Comment #0 from David Simcha <dsim...@yahoo.com> 2009-10-06 15:04:05 PDT --- The following program runs out of memory b/c foo is apparently allocated and created every time through the loop: import std.math, core.memory, std.stdio; immutable real[] foo = [0,1,2,3,4]; void main() { GC.disable; foreach(i; 0..1_000_000_000) { auto bar = poly(i, foo); } } Changing the immutable to an enum results in the program still running out of memory. Removing all references to immutability fixes the problem. Changing the array to a static array fixes the problem. Initializing the array inside main() fixes the problem. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------