Цитата:
Сообщение от seeman_tm
Цитата:
Одинаковые строки будут как правило сравниваться дольше (подумай почему).
|
В курсе.
Не тебе конкретно писал, а вообще всем.
Убери из кода
Цитата:
UniqueString(Str1);
UniqueString(Str2);
|
И у тебя показатели занятого времени станут в половину меньше на сравнении одинаковых строк.
|
Значит ты всё же не совсем в курсе, раз предлагаешь убрать UniqueString.
Хорошо, вот вариант без UniqueString:
Код:
function Test(Str1, Str2: String): Extended;
var
i: Integer;
tic1, tic2: DWORD;
begin
tic1 := GetTickCount;
for i := 1 to 500000000 do
begin
if Str1 = Str2 then;
end;
tic2 := GetTickCount;
Result := (tic2 - tic1) / 1000;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessageFmt('Сравнение одинаковых строк заняло %g сек, а разных строк заняло %g сек',
[Test(IntToStr(9797979797979797), IntToStr(9797979797979797)),
Test(IntToStr(9797979797979797), IntToStr(7979797979797979))]);
end;
На сколько изменились показатели?