は少しテストです:機能を使用しないとパフォーマンスが向上しますか?ここ
function inc(n:integer):integer;
begin
n := n+1;
result := n;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
start,i,n:integer;
begin
n := 0;
start := getTickCount;
for i := 0 to 10000000 do begin
inc(n);//calling inc function takes 73 ms
//n := n+1; writing it directly takes 16 ms
end;
showMessage(inttostr(getTickCount-start));
end;
あなたのベンチマークは、関数にとって少し不公平です。オーバーヘッドを減らすためにこれを試してください: function inc(var n:integer); begin 結果:= n + 1; end; – Tihauan