Помогите пожалуйста понять причину следующего "явления", самому увы в силу уровня знаний, понять не удаётся
 
  Начну из далека: Решился я таки посмотреть что за зверь такой этот PascalABC.NET (Далее PABC) открыл я значит Данный документ, читаю какой FPC убогий и прочие восхваление PABC, дохожу до страницы №8 (Это все на что меня хватило
 ) и вижу там заявление, что производительность программ на PABC выше чем на FPC, честно говоря задело.
 ) и вижу там заявление, что производительность программ на PABC выше чем на FPC, честно говоря задело.Установил PABC перенес примеры из текста по сравнению производительности, проверяю, расстраиваюсь:
Код PABC: Среднее время выполнения на моем Intel i5-4210H - 425мс
- Код: Выделить всё
- begin
 var n := 10000;
 var s := 0.0;
 for var i:=1 to n do
 for var j:=1 to n do
 s += 1.0/(i*j);
 writeln(Milliseconds);
 end.
Код FPC: Среднее время выполнения - 575мс
- Код: Выделить всё
- var
 tt:Cardinal;
 n,i,j: integer;
 s: real;
 begin
 tt:=GetTickCount64;
 n := 10000;
 s := 0.0;
 for i:=1 to n do
 for j:=1 to n do
 s += 1.0/(i*j);
 writeln('Tick: ',GetTickCount64-tt);
 ReadLn;
 end;]
Крайне не довольный результатом, лезу в реализацию функции Milliseconds в PABC, "как могу переношу" её в FPC:
- Код: Выделить всё
- StartTime:=Time; //Переменная назначается при старте программы естественно
 //Остальное после цикла
 cur_t:=Time;
 ml:= cur_t-StartTime;
 WriteLn('Milliseconds: ',IntToStr(DateTimeToTimeStamp(ml).Time) );
Получаю среднее время выполнения - 265мс
Выношу код выше в отдельную функцию и вызываю её: Среднее время выполнения - 565мс
С чем это может быть связанно помогите разобраться пожалуйста...



