Reply to Saaa,
My program doesn't exit..void main() { .. Data data[] createData(data); //This proces takes a minute or two. //data now holds about 700000 Data elements writefln(`Creating buffer`); ubyte[] buffer; for (int i=0; i<data.length; i++) { buffer~=format(data[i].net,`,`,data[i].name,`,`,to!(int[])(data[i].out put),`,`,to!(int[])(data[i].input),newline);
~= in a short loop is a really bad thing. It will tend to need twice the ram you really needed and hammers the GC. Also if you start getting false pointers it gives them lots of memory segments to land in.
//This takes like a minute and has a peak memory usage of 680MB } writefln(`Writing file`); std.file.write(outFilename, buffer); writefln(`Writing file finished`); //The file is readily made and delta memory usage shows a few a few times around 20MB //but the program doesn't stop, although 'Writing file finished' is shown. //there is no static this or alike. //and after 10 minutes the memory usage is about 370MB and slowly going up //ctrl-c doesn't work anymore as well }
