bench;
var
C: TBaseClass;
i: integer;
sum: SizeInt;
t,d: Double;
begin
C:=get_object;
SetLength(C.arr, 10000000);
t:=Now;
for i:=0 to Length(C.arr) do sum:=sum + C.get_direct(i);
d:=Now-t;
WriteLn('Direct: ', d*MSecsPerDay:0:2, ' ms');
t:=Now;
for i:=0 to Length(C.arr) do sum:=sum + C.get_indirect(i);
d:=Now-t;
WriteLn('Indirect: ', d*MSecsPerDay:0:2, ' ms');
end;
begin
bench;
ReadLn;
end.
Так?
Девиртуализирует, негодник!
Сменил опцию оптимизации на шаг назад, девиртуализация ушла - результаты не изменились )
дык пофиг, оно все попадает в кэш на первом проходе
Обсуждают сегодня