Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.fds-net.ru/showflat.php?Number=9508435&src=arc&showlite=
Дата изменения: Unknown
Дата индексирования: Wed Apr 13 03:42:38 2016
Кодировка: Windows-1251
сравнение времени выполнения операций процессором - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
Technical >> Hard&Soft (Archive)

Страницы: 1
Antonbaton
newbie

Рег.: 26.01.2010
Сообщений: 42
Рейтинг: -20
  сравнение времени выполнения операций процессором
      16.05.2010 15:57
-1

требуется сравнить время затрачиваемое процессором на перезапись и на сложение. Посоветуйте статьи с результатами, ну или в крайнем случае как это можно самому сравнить средствами C++&

abv

Рег.: 21.09.2007
Сообщений: 6924
Рейтинг: 6747
  Re: сравнение времени выполнения операций процессором [re: Antonbaton]
      16.05.2010 16:07
5

я так скажу. хрен с два что у тебя выйдет оценить из-за всяких разных кешей и конвейеров



зимой и летом велозона
abv

Рег.: 21.09.2007
Сообщений: 6924
Рейтинг: 6747
  Re: сравнение времени выполнения операций процессором [re: Antonbaton]
      16.05.2010 16:21
2

в первом приближении (очень тупо, получая ошибку в разы и на порядки), мог бы сделать и так:
делаешь некий цикл на миллиард операций. засекаешь время. (секундомером :grin: )
потом добавляешь в цикл лишнюю операцию сложения. снова засекаешь. вычитаешь

неужели так сложно было придумать подобную схему эксперимента?



зимой и летом велозона
Chamrajnagar
T_T

Рег.: 24.11.2005
Сообщений: 5095
Из: Северное кучкино
Рейтинг: 3356
  Re: сравнение времени выполнения операций процессором [re: Antonbaton]
      16.05.2010 17:09
 

Quote:

Посоветуйте статьи с результатами


Тогда нужно как минимум писать, что за процессор ты используешь.

Quote:

время затрачиваемое процессором


Время до того момента, когда устройство выборки команд возьмется за следующую инструкцию? Или время до того момента, когда результат операции можно будет использовать?

Quote:

на перезапись и на сложение


Перезапись чего и сложение чего?



Era of Lite beer, hand calculators and "user-friendly" software.
Antonbaton
newbie

Рег.: 26.01.2010
Сообщений: 42
Рейтинг: -20
  Re: сравнение времени выполнения операций процессором [re: abv]
      16.05.2010 20:43
 


 
Quote:

в первом приближении (очень тупо, получая ошибку в разы и на порядки), мог бы сделать и так:
делаешь некий цикл на миллиард операций. засекаешь время. (секундомером :grin: )
потом добавляешь в цикл лишнюю операцию сложения. снова засекаешь. вычитаешь

неужели так сложно было придумать подобную схему эксперимента?
  



Теоретически то да, но при этом результаты получаются шокирующие: при добавлении 2х операций сложения добавка во времени (относительно пустого цикла) более чем в 2 раза больше, чем при добавлении одной операции. при добавлении 3х и 4х операций аналогичный эффект: время растет несоразмерно.

abv

Рег.: 21.09.2007
Сообщений: 6924
Рейтинг: 6747
  Re: сравнение времени выполнения операций процессором [re: Antonbaton]
      16.05.2010 20:51
6

взботни для начала.
http://habrahabr.ru/blogs/development/93263/

потом почитай еще где-нибудь как примерно работает конвейер у процессора.

а потом узнай че-нить про оптимизации компиляторов. которые выкидывают нафиг твой пустой цикл



зимой и летом велозона
Spin
он самый

Рег.: 17.09.2003
Сообщений: 14521
Рейтинг: 4387
  Re: сравнение времени выполнения операций процессором [re: Antonbaton]
      16.05.2010 21:00
1

без указания архитектуры и самого кода теста тут нечего говорить
показывай



- а этот ваш С++ - он функциональный?
- еще какой функциональный!
abv

Рег.: 21.09.2007
Сообщений: 6924
Рейтинг: 6747
  Re: сравнение времени выполнения операций процессором [re: Spin]
      16.05.2010 21:02
1

В ответ на:

самого кода теста



надеюсь, имеется ввиду ассемблерный вид



зимой и летом велозона
Spin
он самый

Рег.: 17.09.2003
Сообщений: 14521
Рейтинг: 4387
  Re: сравнение времени выполнения операций процессором [re: abv]
      16.05.2010 21:06
1

желательно, но в общем - хотя бы С++ - посмотреть что за команды вызывают увеличение в 2 раза
вдруг он в этой команде в память лезет а не в регистрах копается?



- а этот ваш С++ - он функциональный?
- еще какой функциональный!
vissi

Рег.: 30.09.2007
Сообщений: 9275
Рейтинг: 8222
  Re: сравнение времени выполнения операций процессором [re: Antonbaton]
      16.05.2010 21:52
 

В ответ на:

затрачиваемое процессором на перезапись и на сложение



перезапись куда? в память - это уже не совсем процессор.
в некоторых биосах можно отключить кэш процессора. Далее, нужно взять компилятор без оптимизации (чтобы получить именно инструкцию add), некоторый цикл (надо придумать, какой), убрать из него операцию add и через rdtsc измерить время с циклом и без. Вычесть, поделить. Возможно, стоит как-то избежать взаимодействия с памятью во время измерения.



Rad
delinquent guy

Рег.: 06.09.2005
Сообщений: 17291
Из: here and there
Рейтинг: 2232
  Re: сравнение времени выполнения операций процессором [re: abv]
      16.05.2010 23:09
-1

В ответ на:


делаешь некий цикл на миллиард операций. засекаешь время. (секундомером :grin: )
потом добавляешь в цикл лишнюю операцию сложения. снова засекаешь. вычитаешь


как ты при этом докажешь, что не попал на какую-то особенность связанную с размером очереди команд и т.п.?



abv

Рег.: 21.09.2007
Сообщений: 6924
Рейтинг: 6747
  Re: сравнение времени выполнения операций процессором [re: Rad]
      16.05.2010 23:15
 

ты пост выше читал? ну а хотя бы начало цитируемого поста?



зимой и летом велозона
Maestro
поискатель

Рег.: 17.09.2003
Сообщений: 28615
Из: SPB
Рейтинг: 9311
  Re: сравнение времени выполнения операций процессором [re: Antonbaton]
      17.05.2010 02:53
 

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



Muistatko mitä enemmin,
vain jo loppuivat lorusi?
unkulunkulu
unkulunkulunkulu

Рег.: 12.11.2006
Сообщений: 18453
Из: 13000
Рейтинг: 11759
  Re: сравнение времени выполнения операций процессором [re: abv]
      17.05.2010 08:42
 

Quote:

взботни для начала.


И еще это: http://forumbgz.ru/showflat.php?Board=prog&Number=945093... :)

Блин, мазовую ты ссылку дал, кстати :)

Rad
delinquent guy

Рег.: 06.09.2005
Сообщений: 17291
Из: here and there
Рейтинг: 2232
  Re: сравнение времени выполнения операций процессором [re: Maestro]
      17.05.2010 14:40
 

В ответ на:


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



В таком случае, почему бы не поискать подобные данные в спеках на процы? Там, по идее, должно быть указано типичное время обработки команды в тактах и даже рекомендации по выстраиванию команд. Во всяком случае, что-то такое я видел для P1 давным давно.



Antonbaton
newbie

Рег.: 26.01.2010
Сообщений: 42
Рейтинг: -20
  Re: сравнение времени выполнения операций процессором [re: Rad]
      17.05.2010 21:20
 

всем спасибо, особенно за первую ссылку. Проблема можно считать решена (в ее непригодности к реальным задачам я не сомневался, но от меня все же требовали ее решение).

Страницы: 1

Technical >> Hard&Soft (Archive)

Дополнительная информация
0 зарегистрированных и 0 анонимных пользователей просматривают этот форум.

Модераторы:  exc, muse, Riamella, KAA 

Печать темы

Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в