Вверх ↑
Администрация
Ответов: 15295
Рейтинг: 1519
#1: 2011-05-01 22:55:08 ЛС | профиль | цитата
Леонид, программа показывает то, что мы на запрос у системы 20Мб получили 20Мб, а не в 8 раз больше. В виртуальной памяти выделенный кусок оказался потому, что он нами никак не используется. Это можно проверить к примеру так:

Add(Button,12089024,105,161)
{
Left=105
Top=160
link(onClick,3044783:doit,[])
}
Add(InlineCode,3044783,168,161)
{
WorkPoints=#4:doit|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|42: procedure doit(var d:Tdata; i:word);|5: end;|0:|14:implementation|0:|13:var s:string;|0:|48:procedure THiAsmClass.doit(var d:Tdata; i:word);|14:var t:integer;|5:begin|30: setlength(s, 20*1024*1024);|29: for t := 1 to length(s) do|17: s[t] := 'd';|4:end;|0:|4:end.|
}
прибавит 20Мб и туда, и туда

PS: чем проще эксперимент, тем точнее его результаты.
карма: 27
0