Форум: "Потрепаться";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];
ВнизПомяните меня в своих молитвах - в ближайшее время меня обрекли на Фортран =( Найти похожие ветки
← →
iZEN (2002-02-15 23:51) [40]Так Java будем тестить или как? Примеры кодов подходящие, я их могу легко адаптировать.
Гм...в Java нет такого понятия как exe-файл -- его заменяет JAR-Executable, который, например в Windows Explorer, по щелчку мыши загужается в виртуальную ява-машину, в памяти распаковывается и исполняется (можно запустить из bat-файла: java.exe -jar MyApplication.jar
и весь вывод на консоль производится как в обычном Win-приложении.
← →
iZEN (2002-02-15 23:53) [41]Дополнение к предыдущему сообщению.
Только нужна Sun JRE1.3 (~9Мб в дистрибутиве), но лучше новую версию JRE1.4 (она быстрее).
← →
Фэ (2002-02-16 01:02) [42]Конечно будем, а также все у кого чего может считать и рассчитывать.
Отправил тест на Free Pascal (занятно по ср. с Delphi)
← →
Фэ (2002-02-16 01:05) [43]И еще..
По результатам тестов можно выложить типовые алгоритмы в кладовку и хотя сайт о Дельфи, это будет полезно для всех.
Так, что тесты желательны из актуальных задач.
← →
VuDZ (2002-02-16 12:04) [44]во блин попал - из шутки переросло в производство :)
1. есть предложение выкладывать всё это на каком-нибудь сайте, что бы все желающие могли протестировать скорость разных вариантов на своём компе.
2. вот на счёт доловного перевода алгоритма с паскаля на другие языки - млжет не стОит, лучше или входные:выходные данные или алгоритм
3. может сегодня же придумать несколько тестов, а не один, что бы было проще их реализовывать
4. для софта выставлять внутри или в taskManger"e Real Time Priority, правда гонял у себя много тестов при играющем winAMP"e или MP8.0 и разброса почти не было (но они то и проца почти не потребляют-с)
5. GetTickCount() пригоден только для измерений, длящихся > 1s, иначе у него разброс большой. Можно было бы использовать rdtsc
, но это уже извращение будет :)
> По результатам тестов можно выложить типовые алгоритмы в
> кладовку и хотя сайт о Дельфи, это будет полезно для всех.
где это видно было, что бы алгоритмы были лишними...
← →
Фэ (2002-02-17 11:00) [45]Если Мерлинам не захочется, то могу держать на своем сайте
Открыл доступ
ftp.pi8plus.ru
login: ftpguest
psw: 123
Выкладывать буду на
ftp.pi8plus.ru/pub/download/compare/
1.На сортировке стоит откатать технологию, а затем подобрать
следующие алгоритмы, на которых можно изучить особенности работы тех или иных компиляторов.
2.Не обязательно останавливаться на exe.
Языковый диапазон сегодня достаточно широк и его обозначение тоже полезно.
3.
> вот на счёт доловного перевода алгоритма
Конечно, речь не о дословном переводе. Но хороший программер может, зная особенности работы своего компилятора, так составить исходник, что оптимизатор будет отдыхать. Ну и не надо пользоваться inline, asm внутри языков высокого уровня.
Когда обозначен и согласован очередной алгоритм, паскаль может сойти за псевдоязык при его опубликовании - вот о чем речь.
Если кому-то удасться использованием типовых языковых конструкций улучшить показатели, то такие варианты можно выкладывать, как примеры.
4.
> GetTickCount() пригоден только для измерений
Подбирая за счет числа циклов время одного теста > 2 сек получим
разброс не более 1 %.
Кроме того, обязательно повторять тест раз 10 - тогда можно отсечь промахи и задержки.
Вот пример:
[Header]
Compiler=Delphi 5.0 build 6.18 sp.1
CPU=P-III 1000EB
RAM=256M
Chip=i815EP-B
Tester=Fe
Test=Bubble Sort
Cycle=10000
Repeat=10
[Time]
Time1=1912
Time2=1950
Time3=1931
Time4=1946
Time5=1940
Time6=1946
Time7=1950
Time8=1940
Time9=1951
Time10=1945
[Result]
0=1.2505566701293E-5
9999=0.999936824198812
5.Ввести в выходной файл секцию для контрольных результатов
[Result]
0=
Nmax=
это для массивов, а для однострочного результата 0=
6.Выложил результаты для Delphi5, Free Pascal и шутки ради BP7
ftp.pi8plus.ru/pub/download/compare/
Если кому интересно - присоединяйтесь.
← →
Фэ (2002-02-17 11:07) [46]Что-то в этом роде для пузырьковой сортировки:
const
N = 10000;
Kmax = 10;
var
A: array [0..N-1] of double;
x: double;
first,last,i,j,k: integer;
F: TextFile;
fname: string;
......
Randomize;
for i:=0 to N-1 do A[i] := Random;
first := GetTickCount;
for i := 0 to N-1 do
for j := 0 to N-1 do begin
if (A[i] < A[j]) then begin
x := A[i]; A[i] := A[j]; A[j] := x;
end;
end;
last := GetTickCount;
P.S. Кстати уже на этом "примитивном" примере уже сделал интересные выводы в отношении D5 и Free Pascal.
← →
Mbo (2002-02-17 11:18) [47]Каковы выводы?
← →
Фэ (2002-02-17 19:50) [48]А выводы такие(по анализу deasm)
D5 сч.циклов переворачивает (т.е. фактически делает downto)
Free Pascal оставляет Ваш вариант.
Промежуточную переменную D5 вынес в память, а FP сделал dword(те же 8 байт) и разместил в регистре.
В итоге здесь D5 проиграл FP (см на сайте результаты)
← →
Фэ (2002-02-17 19:52) [49]Суда же выложил результаты тестирования интерпретирующих систем
ActivePerl и ActivePython для Win платформы.
Тоже занятно:
ftp.pi8plus.ru/pub/download/compare/
← →
Фэ (2002-02-17 20:11) [50]Так, что господа Сишники, Курильщики Явы и пр., где Ваши варианты ?
Или ломка ?
Да и Fellomena затихла со своим Fortran..
← →
VuDZ (2002-02-17 22:09) [51]я свой вариант отослал Fellomen"e - я юзаю обычно Intel C++ Compiler, который является наибыстрейшим компилятором... будет врем я- выложу на сайте
← →
Fellomena (2002-02-19 10:57) [52]Спасибо всем кто прислал свои варианты.
Уже готовы результаты для VisualFortran 6.1.0 без оптимизации и для компилятора Delphi 6 - забавненько получилось ;)
Сегодня протестю С-шный код и результаты, думаю завтра кину сюда.
Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.006 c