Показать сообщение отдельно
Старый 01.06.2008, 13:56   #19
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Цитата:
Сообщение от alexsl Посмотреть сообщение
вообщем простой тест:

- P4 1,7 512 mb
- l2ph 3.2.0 (Test Init)
- paxScript IDE (Run -> F9)

delphi Код:
procedure Init; //Вызывается при включении скрипта var   i, k: Integer;   t,r: double; begin   t := time();   k := 1;     for i := 0 to 200000 do     k := StrToInt(IntToStr(i));   r:= (time() - t)/1000;   showmessage(floattostr(r)); end;

- код в paxScript IDE

delphi Код:
uses SysUtils,dialogs; var   i, k: Integer;   t,r: double; begin   t := time();   k := 1;   for i := 0 to 200000 do     k := StrToInt(IntToStr(i));   r:= (time() - t)/1000;   showmessage(floattostr(r)); end.
-------------------------------------------
результаты:
- l2phx: 1,4282 1,4282 1,4282
- Pax: 2,9837 3,0196 2,9293
------------------------------------------
результаты грят сами за себя.
зы: не совсем ясно с paxScript IDE, возможно при каждом запуске идет компиляция
твоё сравнение немного некорректно, дело в том что IntToStr и StrToInt в FastScript встроенные функции, а в paxScript они добавляются, из за этого и такая разница в скорости, но в paxScript есть встроенные аналоги этих функций, и вот такой скрипт в paxScript работает абсрлютно так же как и твой но чуть бустрее чем FastScript:
delphi Код:
uses SysUtils,dialogs; var   i, k: Integer;   t,r: double; begin   t := time();   k := 1;   for i := 0 to 200000 do     k := Integer(String(i));   r:= (time() - t)*86400000;   showmessage(String(r)); end.
ну и для FastScript тоже исправил чтоб отображалось количество милисекунд а не непонятное число:
delphi Код:
procedure Init; //Вызывается при включении скрипта var   i, k: Integer;   t,r: double; begin   t := time();   k := 1;     for i := 0 to 200000 do     k := StrToInt(IntToStr(i));   r:= (time() - t)*86400000;   showmessage(floattostr(r)); end; begin end.
в результате этих изменений результаты тестирования такие:
paxScript: 531 мс, 515 мс, 547 мс
FastScript: 577 мс, 625 мс, 594 мс
результат на лицо)
ЗЫ процессор - AMD Athlon 64 3800+

Добавлено через 12 минут
кстати небольшое разяснение навсякий случай:
String(x) - возвращает результат преобразования x в строку, чем бы x не было изначально, тоесть
если x: Integer = 12, то String(x) = '12'
если x: Double = 52.4234, то String(x) = '52.4234'
тоесть она заменяет наверное почти все ...ToStr функции
аналогично и Integer(x) преобразует x из почти чего угодно в целое число, x может быть и строкой типа '342' и дробным числом, от которого обрежиться дробная часть...
__________________
Я здесь практически не появляюсь!, Skype - ikskor

Последний раз редактировалось xkor, 01.06.2008 в 13:56. Причина: Добавлено сообщение
xkor вне форума