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




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

Member
Статус: Не в сети
Регистрация: 30.01.2003
Откуда: Москва
Locki В любом случае лучше делать цикл, меньше погрешность. RDTSC само по себе много жрет в процессе своего выполнения (десятки тактов). Отсюда и погрешность.



Партнер
 

Advanced member
Статус: Не в сети
Регистрация: 30.08.2003
Откуда: Санкт-Петербург
Locki
все.. я сдаюсь.. качайте Интеловский дебаггер (Intel® VTune™ Performance Analyzer) и считайте в нем ;)

_________________
{:€ дед в законе :-) нородный окодемег
почетный пользователь OpenSuSE 11.3
Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad


 

Member
Статус: Не в сети
Регистрация: 28.02.2005
Откуда: Брянск
Locki Ну тут ты немного не прав:
1. 84 такта на 1 инстр. Тут ты не учел что RDTSC тоже нужно время на выполнение (на моем пне это около 96-104 тактов + поместить значения регистров в переменные), так что эти 96-104 или твои 84 такта надо вычитать а потом уж делить.
2. Опять же на моем 16/32/64 Адд выполняются за 96/112/144 тактов (сам Адд занимает по-моему около 6 тактов, на Атлоне наверное все 4) - как тогда обяснить эти 96/112/144 такта, если одни только Адд выполнялись бы около 96(!)/192/384 тактов. Тут я уже незнаю чем крыть (я сам очень удивился). Можно вспомнить что складывать можно сразу на 3 блоках, но тут код с кот зависит от результатов предидущей операции. В голову лезет мысль что этот гад понимает чего от него хотят - типа: "Ага, ЕДХ=ЕДХ+ЕАХ*8/16/32/..." - А может ли он об этом догадаться? Кстати это по моему единственный вариант при котором можно выполнить 64 Адд с такой скоростью. На Атлоне это ещё как-нибудь можно списать на параллельное исполнение, но на пне наврядли, тут что-то другое.
3. Ну во-первых есть документация на процы, где написано скока проц тратит на инструкцию.
3.1. Инструкции выполняются вместе с другими инструкциями, и от их окружения зависит время выполнения (спаривание инструкций). Плюс есть всякие извраты типа LEA EDX, EAX+EDX = ADD EDX,EAX, вот. Можно сразу два сложения как положено, и одно с извратом, зато все выполнятся параллельно.
З.Ы. Тут надо эксперементировать, а искать конкретные цифры бесполезно, т.к. с новым камнем все может радикально поменяться. И тогда будут орать "На CPU1 это быстро, а на CPU1version2 это почему-то медленно! Хотя он новее, мощнее, быстрее, умнее ...".

Добавлено спустя 6 минут, 42 секунды:
Root Есть этот Тюнер (7.1), тока добиться от него тактов мне не удается, одни вопросы - никаких ответов. Слишко он заумный для меня (вроде 5 был попроще), может вы знаете куда в нем нажать чтоб такты выскочили?


 

Member
Статус: Не в сети
Регистрация: 31.01.2004
Откуда: moskow
Asteroid а если делать цикл, то добавляются еще такты, тратящиеся на команды цикла. вот и если тело малое, а размер цикла большой то все ОПЯТЬ ПРИЕХАЛИ!
Toad Тут пришла такая мысль, а что если поставить сначала неспариваемую инструкцию
напр CLC , потом допустим 8 раз NOP, потом 32 раз ADD и CPUID (она не выполняется пока процессор не доделает предыдущее. потом замерить результат вычесть из него 1такт-CLC, 8тактов -NOP, 1 такт-СPUID и поделить на 32. Как вам сей вариант?


 

Member
Статус: Не в сети
Регистрация: 30.01.2003
Откуда: Москва
Locki Опять-таки вопрос окружения. NOP может выполняться не один такт :)
Не понимаю, чем тебе цикл не понравился...связка DEC ECX; JNZ одна из лучших и может даже спорить с LOOP...

Углубился в залежи всяких разных исходников. Изредка слышны щелчки мышью и перелистывание страниц кода.

Откопал.


 

Member
Статус: Не в сети
Регистрация: 28.02.2005
Откуда: Брянск
Asteroid Но иногда Луп быстрее (правда редко и всего на 2-4 такта).
Locki Всеравно скока не меряй найдется процессор на котором твой код будет дико тормозить/нестись, и показывать результаты из раздела фантастики. Кончай замерять инструкции - меряй целые ф-ции. Это раньше про инструкцию можно было сказать спариваемая она или нет, а теперь при таком ассортименте процессоров хрен проймешь что у них там вместо мозгов.


 

Member
Статус: Не в сети
Регистрация: 31.01.2004
Откуда: moskow
Цитата:
Кончай замерять инструкции - меряй целые ф-ции. Это раньше про инструкцию можно было сказать спариваемая она или нет, а теперь при таком ассортименте процессоров хрен проймешь что у них там вместо мозгов.
= Блин, ПОЛНОСТЬЮ СОГЛАСЕН! Хотелось сделать как лучше, а получается...
вопрос Через какое время произойдет переполнение eax? Я так понимаю 2^32/(частота проца в герцах)= кол-во секунд?

Добавлено спустя 4 минуты, 27 секунд:
Блин,
Цитата:
мечтательно
где бы достать мануалы на процессоры, ДА НА РУССКОМ!!!


 

Member
Статус: Не в сети
Регистрация: 30.01.2003
Откуда: Москва
Locki Проще выучить английский, чем достать мануал по процам на русском :haha:


 

Member
Статус: Не в сети
Регистрация: 28.02.2005
Откуда: Брянск
Asteroid Во-Во.
Locki Ты что совсем по ихнему не шпрехаешь? Там в принципе ничего военного нет, а реккомендации одни и те же. И насчет формулы ты прав. Но что это за функция кот. 1 секунды маловато на выполнение (а что тебе не дает покоя в этом деле?).


 

Member
Статус: Не в сети
Регистрация: 31.01.2004
Откуда: moskow
Toad
Цитата:
Покой нам только снится

http://www.wasm.ru/forum/index.php?action=vthread&forum=17&topic=10732

Добавлено спустя 6 минут, 30 секунд:
Кстати с ВТюном кто нить работал? бросьте ссылку.


 

Member
Статус: Не в сети
Регистрация: 28.02.2005
Откуда: Брянск
Locki Я работал. На что те ссылку нада, на ВТюнер что-ль (ftp://download.inet.com/software/products/vtune/downloads)? Кстати он платный и т.д. и т.п. Может заметил, немного раньше я писал что от него тактов мне добиться не удалось, и в принципе вощбще нихоена в нем не понял (у меня 7.1, я читал про 5й там всё проще было)!


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

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


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

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


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

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