· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.A&O —› Brain vs C compiler

<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . >>

Посл.отвђт Сообщен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 раз запускать.

<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.049