IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Время выполнения программы
сообщение
Сообщение #1


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


Как посчитать сколько будет работать программа, если известно количество арифметических операций?..то есть вопрос такой сколько компьютер выполняет арифметических операций например за секунду...как повлияет на время работы если использовать динамические обьекты?..(время для обращения к памяти?)...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Подсчитать ОЧЕНЬ трудно. Можно считать, что невозможно. Зато можно измерить.
Только следует учитывать, что достаточно большое и даже основное время в ряде случаев может приходиться не на арифметические операции, а на условные оператоы и доступ к памяти.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 1
Пол: Мужской

Репутация: -  0  +


Есть функция(не помню как пишется, вроде gettime), опеделяющая время с точностью до милисек. Сделай замер в начале и в конце работы программы. Потом найди разность. Вот и время программы с точностью до милисекунд
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


Цитата(Архонт @ 15.01.2008 6:42) *

Есть функция(не помню как пишется, вроде gettime), опеделяющая время с точностью до милисек. Сделай замер в начале и в конце работы программы. Потом найди разность. Вот и время программы с точностью до милисекунд


Имелось ввиду априорно...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Цитата(Fanat @ 20.01.2008 20:52) *

Имелось ввиду априорно...

Это понятно.
Но дело в том, что на разных процессорах время выполнения (как в единицах времени, так и в тактах процессора) будет различным. И, самое важное, процессор внутри выглядит совсем не так, как выглядит снаружи его программная модель. Отдельные инструкци обрабатываются не поочередно, а одновременно, находясь на различных стадиях выполнения конвейера. Поэтому время выполнения одной инструкции в принципе не существует, а для последовательности может быть вычислено только с учетом текущей загрузки вычислительных блоков и предыстории. Другими словами, для точного вычисления необходимы данные об архитектуре процессора и его микрокоде, являющиеся know-how, отсутствующие в широком доступе.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


Спасибо.. smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 20:35
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name