C/C++

Определение числа операций в секунду.

Требуется определить, какое число операций выполнит программа за одну секунду.
Например, чему будет равно значение i через одну секунду реального времени.
for (int i = 0; ; i++);
Так же Буду благодарен за любую инфу по работе со временем.
Язык - С++.
Могу предложить такой вариант: создаешь 2 потока. Один поток имеет таймер, по которому запускает и останавливает другой поток, который и выполняет заданные операции.
Сообщение от mik-a-el
Могу предложить такой вариант: создаешь 2 потока. Один поток имеет таймер, по которому запускает и останавливает другой поток, который и выполняет заданные операции.
Всё бы хорошо, но какой таймер использовать?
Если работать с обычным временем (clock_t), но проблема в том, что за одну секундувыполняется +- 10 операций, даже если брать точность в микро секундах (10^(-6)).
Вообще с какой максимальной точностью можно получить время..?
Есть библиотека Boost C++, созданная как раз для измерения времени. Работает на основе стандартной функции clock().
Сообщение от mik-a-el
Есть библиотека Boost C++, созданная как раз для измерения времени. Работает на основе стандартной функции clock().
Не встречался с оной.
Кинь ссылку если не трудно...
http://www.solarix.ru/for_developers...ary-list.shtml
Сообщение от mik-a-el
http://www.solarix.ru/for_developers...ary-list.shtml
Thanks. Покурю на досуге....
Буду очень признателен за любую информацию о производительности (числе операций в секунду - флопсах)
для микропроцессоров персональных (бытовых) компютеров.
Зайди на сайт компаний AMD и Intel
СПАСИБО. Там конечно производитльность в МГц, но можно пересчитаь во флопсы
Ставиш счётчик:
Oper_numb=0;
i = GetTickCount(); перед началом выполнения операций.
Послевыполнения каждой операции пишеш:
Oper_numb++;
j = GetTickCount(); j-=i;
if (j>1000) cout<<Oper_numb;.....
Или что-то в этом роде(подумай сам как это реализовать и условие выхода)
Ну, что ещё...
1000 - 1000 милисекунд(1 секунда)
GetTickCount() возвращает количество прошедших милисекунд с какого-то там года(не помню точно, да это и не важно/ Можеш посмотреть в MSDN/ и лежит в <time.h>)