pascalabcnet/TestSuite/Foreach_to_for.pas
Mikhalkovich Stanislav c94b1037cc Оптимизация foreach в for для многократного ускорения цикла для IList<T> (массивов, списков)
Не работает в лямбдах! (техническое ограничение)

Плагин запуска ILDasm
2019-12-25 08:43:01 +03:00

26 lines
338 B
ObjectPascal

type Person = class
end;
procedure P(a: array of Person);
begin
var s: Person;
foreach var x in a do
s := x;
end;
procedure P<T>(a: array of T);
begin
var s: T;
foreach var x in a do
s := x;
end;
begin
var n := 5000;
var a := ArrFill(n,1);
var s := 0;
foreach var x in a do
s += x;
Assert(s = n);
end.