Although increased BLKSIZE allows bigger double lists, potential program crush appears to depend also on total amount of memory allocated by other, temporary, local structures. Such 'garbage' easily grows and makes program crushes earlier.
Surprisingly, attempt for explicit call of garbage collector on some strategic points in the program, beside not being an elegant solution, made things even worse.
For example, with moderately increased environment variables, this program successfully allocated 250 000 and 5000 elements before crush on my home computer, without and with explicit garbage collector call, respectively.
##############################################
record double_list(sublist,superlist)
procedure main()
List_of_lists:=[first_double_list:=double_list([],[])]
repeat
{ j:= if /j then 1 else j+1
put(List_of_lists, new_double_list:=double_list([],[]) )
every 1 to 2 do
{ random_old_double_list:=?List_of_lists
put(new_double_list.sublist, random_old_double_list)
put(random_old_double_list.superlist, new_double_list)
}
if j % 1000=0 then { #every collect(![1,2,3],1) # Delete '#' here
write ("First ",j," are OK.")
}
}
end
###############################################I tried it only on Icon 9.3.2. for Windows. Does it work better on some other version of Icon or Unicon?
--------------
Kazimir Majorinc, Zagreb, Croatia
------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 _______________________________________________ Unicon-group mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/unicon-group
