|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 28, 2003 19:01:36 masquer Хехехехеххххеххеххеххехеххе И ЭТО БЫСТРЕЕЕЕЕ????? |
|
|
Дата: Авг 28, 2003 19:07:03 masquer Но признаю, -- ЭТО КРАСИВО!!!! |
|
|
Дата: Авг 28, 2003 19:08:00 По тактам в 2 раза быстрее, по размеру, правда, в 2 раза больше. |
|
|
Дата: Авг 28, 2003 19:16:05 А по затраченым мозговым усилиям на написание такого %) ?? |
|
|
Дата: Авг 28, 2003 19:16:10 А CMOVcc медлено работает? xor ebx,ebx mov eax, a push eax inc eax pop eax cmovz eax,b push eax inc eax pop eax cmovz eax,ebx |
|
|
Дата: Авг 28, 2003 19:26:18Команда: CMOVcc приемник, источник Назначение: Условная пересылка данных Процессор: P6 (!!!) Это вносит некоторые ограничения.. |
|
|
Дата: Авг 28, 2003 19:28:41 А по затраченым мозговым усилиям на написание такого Меньше 10 минут ушло, зато море удовольствия от осознания собственного превосходства над "тупой машиной" :))))))) А CMOVcc медлено работает? Не проверял, но скорее всего что медленнее будет, да и не на всех процессорах эта инструкция есть, по крайней мере я на это не могу расчитывать. |
|
|
Дата: Авг 28, 2003 19:31:22 masquer Быстрее???? ЧЕГО БЫСТРЕЕ? Погоди!!!! Это как? Ну ОК, пусть на jz уходит 5-9 тактов.. Но всё равно!!!! Мало верится!!! Надо попробывать, проверить :) |
|
|
Дата: Авг 28, 2003 19:36:02 Ну, дело не в том сколько на jz тактов уходит, а в том что при неправильном предсказании этого перехода процессору нужно некоторое время на "осознание" :) своей ошибки, типа перегрузки кеша. |
|
|
Дата: Авг 28, 2003 19:38:20 Извиняюсь за оффтопик, но что такое time-stamp counter, которое выдает rdtsc? Почему когда измеряю им время выполнения куска кода получаю отклонения в младших разрядах? |
|
|
Дата: Авг 28, 2003 19:39:11 Проверил CMOVcc вариант на Athlon - быстрее сишного на 5-7% - не подходит :) |
|
|
Дата: Авг 28, 2003 19:45:33 masquer Всё это так, я об этом и говорю, но неужели потери вот такие? Нет, нужно проверить!!! Кстати а как мой вариант? Извиняюсь за оффтопик, но что такое time-stamp counter, которое выдает rdtsc? Смотри Агнера Фога, у него есть пример кода, для точного замера |
|
|
Дата: Авг 28, 2003 19:46:58 отклонения в младших разрядах Так и есть - счетчик тактов :) Результат помещает в пару edx:eax |
|
|
Дата: Авг 28, 2003 19:57:06 Кстати а как мой вариант? твой вариант дает результаты хуже чем сишный, учитывая возможные погрешности - где-то такой же. |
|
|
Дата: Авг 28, 2003 19:57:53 Смотри Агнера Фога, у него есть пример кода, для точного замера Спасибо. Посмотрю. Хотим провести конкурс на оптимизацию по скорости на http://codeclimber.com. А как замерять и не знаю. С помощью rdtsc у меня получаются такие отклонения в "младших разрядах", что чтобы сравнить два варианта надо будет 1000 раз запускать. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.049 |