Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 52 • Страница 3 из 3<  1  2  3
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 24.07.2003
Откуда: Ukraine
Всем сюда!
Вышла новая версия VBench!!!
http://forums.overclockers.ru/viewtopic.php?t=23864

_________________
А ты скачал VBench?
http://forums.overclockers.ru/viewtopic.php?t=23864



Партнер
 

Member
Статус: Не в сети
Регистрация: 14.04.2003
Откуда: Минск, Беларусь
To Rashid: Да не, под практикой я понимал более современное оформление/структурирование кода. Код из учебников хорош и даже замечательно структурирован - но стиль уже не то. Глаз несколько режет. Это в общем то и не упрек для быстрописаной программулины, так, пожелание на будущее :) А борландовский паскаль компилирует замечательно - к нему никаких претензий (самое главное весьма надежно). Еще компилер 1992 года с современным оптимизирующим сравни :)

_________________
"Помогите, 20 беспроводных мышей общаются сквозь стены!"
--- SweetLow ---


 

Member
Статус: Не в сети
Регистрация: 24.07.2003
Откуда: Ukraine
Внимание!!!!!!!!

Наконец можно скачать -=VBench v0.9.5.25=-! Всем сюда:
http://forums.overclockers.ru/viewtopic.php?t=23864&start=40

_________________
А ты скачал VBench?
http://forums.overclockers.ru/viewtopic.php?t=23864


 

Member
Статус: Не в сети
Регистрация: 21.10.2003
Сейчас откомпилил пузырьковую сортировку в Visual C++ (Maximize Speed). Результат (16000/10) - 25 сек. Против 66 раньше в DOS 16-bit, т. е. Visual C++ создал примерно в 2.5 раза более быстрый код, чем Турбо Паскаль. Но я не знаю, насколько улучшится время выполнения на Атлонах...

"Прощайте, милый граф!
... И все-таки, я пгав или не пгав?" :)

(c) Гусарская баллада


 

Member
Статус: Не в сети
Регистрация: 21.10.2003
SweetLow

Когда я заменил форовое присвоение массива:

procedure RestoreOriginalArray;
begin
for I:=1 to ArraySize do TempArray[I]:=OriginalArray[I]
end;

на TempArray:=OriginalArray компилятор это проглотил, но суммарное время теста возросло на 3 сек. (439->442). Конечно, так выглядит короче и красивее, но, имхо, у Turbo Pascal 7.1 какие-то траблы с присвоением массивов - становится медленнее фора. Вернул назад.


 

Member
Статус: Не в сети
Регистрация: 14.04.2003
Откуда: Минск, Беларусь
Вот результаты моего тора на 2315MHz - DOS 144сек, D5(оптимизация включена) - 37сек. Что тут сказать? Не силен атлон в Legacy коде :) Но в родном 32 битом - явно в тему. Код в 3.9 раза быстрее.

_________________
"Помогите, 20 беспроводных мышей общаются сквозь стены!"
--- SweetLow ---


 

Member
Статус: Не в сети
Регистрация: 14.04.2003
Откуда: Минск, Беларусь
Rashid
Цитата:
Turbo Pascal 7.1 какие-то траблы с присвоением массивов - становится медленнее фора. Вернул назад.
А ты не знаешь почему :) ? Дело в том что копирование массива целиком MOVS-ом выполняется, а фором - как загрузка в регистр -сохранение из регистра. На старых процессорах (на которые старые компилеры ориентированы :) ) MOVS быстрее, на новых - именно загрузка/сохранение регистра, как это ни удивительно :) Так что это не компилера проблема (хотя это и не проблема вовсе), а процессора. Вообще, для современного процессора чем проще команды и тупее код - тем лучше, декодеры и предсказания лучше работают.

_________________
"Помогите, 20 беспроводных мышей общаются сквозь стены!"
--- SweetLow ---


 

Member
Статус: Не в сети
Регистрация: 21.10.2003
SweetLow
Цитата:
Вот результаты моего тора на 2315MHz - DOS 144сек, D5(оптимизация включена) - 37сек. Что тут сказать? Не силен атлон в Legacy коде Но в родном 32 битом - явно в тему. Код в 3.9 раза быстрее.

Я прогнал тест на Дельфи 6 на дюроне 840, так там прогресс налицо: с 398 до 81 сек. :-0 Это уже не в 3.9, а в 5 раз быстрее! И это при том, что ничего не изменилось: алгоритмы те же, массив тот же (байтовый), размерность и число повторений то же. А вот что меня действительно удивило, так это то, что сортировка вставкой на Дельфах стала заметно быстрее сортировки выборкой (на Turbo Pascal было наоброт :)). Как это объяснить? Кол-во сравнений/присваиваний осталось прежнием (алгоритм ведь тот же). Кроме как улучшение работы "предсказалки" процессора в этой компиляции алгоритма мне больше ничего в голву не приходит. И еще один "финт": отсортированный наоборот массив теперь сортируется гораздо быстрее исходного (по-крайней мере на Celeron'е). :) Кстати, выкладываю этот новый тест на своей оверклокеровской странице (Rashid/files). Если кому надо...


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
Вот в лоб перевел перваый вариантт DiffSort на Delphi 7 под консольны вариант.
Переделал все byte на longint для пущей оптимизации под 32 битную среду.
И перевел засекание времени на миллисекунды.
http://cp.people.overclockers.ru/cgi-bi ... ffSort.rar
Странно но результаты почти не изменились, может надо что еще оптимизировать было? У меня времени правда небыло этим заниматься, просто перегнал как есть.

Добавлено спустя 4 минуты, 44 секунды:
Кстати потом я скачал GUI версию и что-то она слишком уж шустро работает , слишком шустро! Что-то мне кажется там уже совсем другие алгоритмы :) нежели были в оригинальной версии,

Добавлено спустя 1 минуту, 38 секунд:
ХА! Малость переделал код, убрал глобальные переменные используемые в циклах и сделал их всех локальными в каждой процедуре, скорость на 12с возросла. Щас еще пооптимизирую и закачаю второй вариант переделки.

Добавлено спустя 6 минут, 12 секунд:
Оптимизируем дальше, вырубил в компиляторе Range Checking и Overflow Checking. Вот теперь результаты больше похожи на те, что в последнем GUI.
Rashid Интересная работка получилась! :)

Вот кому надо забирайте оптимизированную версию, исходники и .exe внутри.
http://cp.people.overclockers.ru/cgi-bi ... fSort2.rar 25 кило

Добавлено спустя 7 минут, 11 секунд:
Что-то я там с портированием напортачил, почемуто два послдених сорта в ORD (ordered) выдают 0 по времени :(


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
SweetLow писал(а):
Не силен атлон в Legacy коде :) Но в родном 32 битом - явно в тему. Код в 3.9 раза быстрее.


не, но ты то что? ... от кого угодно, но от тебя не ожидал. :(
К7 никак не медленнее Р3 на той-же частоте.

2ALL ... нифига не могу понять, в чем 'фенька'.
Если пишется бенч процессора, то это можно делать только руками и на ASM. Тут 'без вариантов'.
Например, я знаю как 'опустить' Р4 или К7 в разы и никто не заметит, но ... это же не бенч будет. Смысл? ....
Причем, сделать это для К7 черезвычайно сложно, очень грамотно сделанный процессор. Про Р3 ничего не могу сказать, не писал жестко оптимизированных программ под него.
Бенч должен скорее не 'что' делать, а 'как' делать (как реализованы команды и их взаимосвязь).

p.s.
Впрочем, наверно, я не понял смысла этого обсуждения.


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
serj_
Цитата:
Бенч должен скорее не 'что' делать, а 'как' делать (как реализованы команды и их взаимосвязь).

Вот это точно! :) Я пока тоже не совсем понял к чему это было, но мне было прикольно занятся оптимизацией :) , а потом правда забил :)


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 52 • Страница 3 из 3<  1  2  3
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan