Число операций в секунду

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
BAMBINATOR
Сообщения: 2
Зарегистрирован: 22 май 2009, 12:43

Может у кого - нибудь есть примеры кода на С/С++ для определения числа операций в секунду (+,* и т.д.),т.е. для простейшей оценки производительности?
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Ну в Windows это сделать достаточно сложно. Процессорное время разделяется между процессами операционной системой и мы можем влиять на это достаточно опосредованно.

Самое простое, что может прийти в голову, это выполнить большое количество однородных операций, замерить время выполнения и потом разделить на количество операций. Такой подход нужен для того, чтобы всевозможные погрешности, а также время выполнения функции, возвращающей текущее время имели минимальное влияние на качество результата.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Есть глобальный счетчик инструкций в микропроцессоре, считываемый командой RDTSC, таким образом можно измерить тактовую частоту процессора либо определенного блока комманд в тактовых циклах. А вот точное число операций за единицу времени узнать невозможно, хотя бы по причине периодических прерываний и из-за других механизмов runtime-оптимизаций процессора.
It's a long way to the top if you wanna rock'n'roll
Ответить