Время выполнения программы |
Время выполнения программы |
Fanat |
Сообщение
#1
|
Fanat Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: 5 |
Как посчитать сколько будет работать программа, если известно количество арифметических операций?..то есть вопрос такой сколько компьютер выполняет арифметических операций например за секунду...как повлияет на время работы если использовать динамические обьекты?..(время для обращения к памяти?)...
|
Архонт |
Сообщение
#2
|
Группа: Пользователи Сообщений: 1 Пол: Мужской Репутация: 0 |
Есть функция(не помню как пишется, вроде gettime), опеделяющая время с точностью до милисек. Сделай замер в начале и в конце работы программы. Потом найди разность. Вот и время программы с точностью до милисекунд
|
Fanat |
Сообщение
#3
|
Fanat Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: 5 |
|
andriano |
Сообщение
#4
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Имелось ввиду априорно... Это понятно. Но дело в том, что на разных процессорах время выполнения (как в единицах времени, так и в тактах процессора) будет различным. И, самое важное, процессор внутри выглядит совсем не так, как выглядит снаружи его программная модель. Отдельные инструкци обрабатываются не поочередно, а одновременно, находясь на различных стадиях выполнения конвейера. Поэтому время выполнения одной инструкции в принципе не существует, а для последовательности может быть вычислено только с учетом текущей загрузки вычислительных блоков и предыстории. Другими словами, для точного вычисления необходимы данные об архитектуре процессора и его микрокоде, являющиеся know-how, отсутствующие в широком доступе. |
Текстовая версия | 8.05.2024 10:09 |