Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.01;
Скачать: CL | DM;

Вниз

Помяните меня в своих молитвах - в ближайшее время меня обрекли на Фортран =(   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.014 c
3-71
Alexsys
2002-03-08 06:30
2002.04.01
Как загрузить отчет из текстушки в Qreport?


1-91
Yu
2002-03-21 12:06
2002.04.01
Что за ошибка?


4-341
Валера из Омска
2002-01-30 08:05
2002.04.01
Файловая система


1-253
rundll32
2002-03-20 20:46
2002.04.01
Раскладка клавиатуры


3-1
volodya_
2002-03-05 09:17
2002.04.01
Как в Qreport-е посчитать сумму значений по каждой странице?