[Issue 3370] New: Compile-time global dynamic immutable arrays should NOT be constant-folded.
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Oct 6 15:04:07 PDT 2009
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: nobody at puremagic.com
ReportedBy: dsimcha at yahoo.com
--- Comment #0 from David Simcha <dsimcha at 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: -------
More information about the Digitalmars-d-bugs
mailing list