![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Romikgy |
|
||||||||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
Вот решел поэксперементировать с заменой байт, слов , полубайт,
покритикуйте , если интересно ![]() потестировал 3 функции замены байт в слове (2 байта)
результаты тестов моих при 50000000 итерациях
А вот и для дворда и байта
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
||||||||||
|
|||||||||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: 5 Всего: 8 |
молодца.
![]() в принципе результат логичен. количество команд в коде и вреся выполнения. -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
BUGOR |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 5 Всего: 16 |
Интересная тема
![]() Потестил, интересно, что на моём процессоре(Duron 950) функции SwapWa и SwapW показывают примерно одинаковые результаты, выделить, что быстрее, а что медленнее трудно(средний результат 390-420), при этом функция SwapWs в 4 раза медленнее двух остальных, ну оно и понятно(1700-1800). Ну зато я нашёл самую быструю для своего процессора функцию, вот:
Добавлено @ 14:47 Вот ещё, чуть медленне всех остальных, кроме Pointer
|
||||
|
|||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 13 Всего: 158 |
время выполнения xchg al,ah = rol ax, 8 = 1 |
|||
|
||||
BUGOR |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 5 Всего: 16 |
Для dword предложенный Romikgy вариант отработал за, в среднем, время = 450.
Однако есть более быстрый вариант, для этого даже есть специальная команда процессора:
Время, в среднем = 340 Добавлено @ 14:58 о, уже опередили ![]() Это сообщение отредактировал(а) BUGOR - 4.8.2006, 14:57 |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
не знал ![]() Добавлено @ 15:06 только одна мааааленькая трабла
это код будет работать для процов от 486 и выше, хотя их щаз уже мало , но мало ли что бывает в жизни ![]() -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
А вы мне случайно не подскажите, а какова цель данной затеи?
ЗЫ. Вы еще процедуру начните убирать - инлайновой вставкой делайте - ещё быстрее будет. Только смысл? |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
Имхо не сильно велик , но где можно сделать оптимальнее и быстрее я стараюсь так и сделать ![]() конечно только если код будет ооооооочень много раз повторятся , то и размер приложения будет возврастать ![]() ![]() -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 13 Всего: 158 |
кстати, для таких функций инлайн - самое оно. экономия и размера и времени.
![]() |
|||
|
||||
Romikgy |
|
||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
да нет
т.е. rol быстрее -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
||||
|
|||||
BUGOR |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 5 Всего: 16 |
Я конечно могу ошибаться, но имхо со времен 486 архитектура этих команд и кол-во тактов изменилось, к тому же это зависит от очень многих факторов, на васме давно обсуждалась эта тема, там развернулся спор на десяток страниц и пришли к выводу, что сказать однозначно за сколько тактов будет выполнен тот или иной участок кода практически невозможно, поэтому если тут разница в такт между двумя командами, то на практике это может быть совсем иначе, ибо команды эти выполняются в совокупности с множеством других, к тому же, если я не ошибаюсь, скорость выполнения так же будет очень сильно зависеть от состояния кэша, а так же от самого процессора(я имею ввиду не характеристики, а архитектуру)... если ошибаюсь, поправьте.
Это сообщение отредактировал(а) BUGOR - 4.8.2006, 16:19 |
|||
|
||||
dumb |
|
||||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 13 Всего: 158 |
Romikgy,
для "голой функции" (в твоем варианте она еще стабы поимеет):
экономишь на call + ret (+stubs) ты б еще для 286 тайминги взял! ![]() edit: забыл "адресовать" сообщение... ![]() Это сообщение отредактировал(а) dumb - 4.8.2006, 16:24 |
||||
|
|||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
дык юзаются же еще и 286 ![]() -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |