ДельфинарийФорум

Бенчмарк (комментарии) (2 стр)

Страницы: 1 2
#15
1:19, 2 июля 2006
program Project1;

{$APPTYPE CONSOLE}

var
 C: integer = 4;
 i: integer;

 function D(const Count:Integer):Integer;
 begin
   result:=Count;
   writeln(Count);
 end;

function Count: integer;
begin
 result:= C
end;

begin
 for i:= 0 to D(Count-1) do begin
  writeln('nn');
  c:= 3;
 end;
 readln;
end.

По-крайней мере так не вычисляется :)
Другое дело, что при варианте когда

  var A:Array[0..5];
  ...
  for i:=0 to Length(A) do begin
    A[i]:=i;
  end;

компилятор по-идее не должен проверять i на выход за границы массива каждую итерацию.
Поправка - очепятки

#16
4:44, 2 июля 2006

Товарищи, фтыкаем
>For purposes of controlling execution of the loop, the expressions initialValue and finalValue are evaluated only once, before the loop begins. Hence the for...to statement is almost, but not quite, equivalent to this while construction
По поводу бенчмарка... раз уж вы занялись оптимизацией кода - учитесь делать её правильно (BDS 2006 ;)

#17
9:07, 2 июля 2006

XProger
Ты злобный читер ;) Знаешь же, что Dron не однократно отмазывался, что типа специально написал кривой алгоритм :) Да и не в оптимизации кода дело. Хотелось бы увидеть (одинаковую) реализацию какого-нибудь сложного(O(N^3)) алгоритма, чтобы можно было реально протестировать.

#18
12:56, 2 июля 2006

MeF
Бессмысленно тягаться с SSE2... ;)
Программист никогда не должен придумывать кривой алгоритм, т.к. его задача - придумать оптимальный алгоритм решения, а уже затем реализовать его на языке программирования. Следовательно, ищем причину всех бед и тормозов в себе ;)

Страницы: 1 2
ДельфинарийФорум

Тема в архиве.