Помощь - Поиск - Пользователи - Календарь
Полная версия: Время выполнения программы
Форум «Всё о Паскале» > Разработка ПО, алгоритмы, общие вопросы > Общие вопросы разработки программ
Fanat
Как посчитать сколько будет работать программа, если известно количество арифметических операций?..то есть вопрос такой сколько компьютер выполняет арифметических операций например за секунду...как повлияет на время работы если использовать динамические обьекты?..(время для обращения к памяти?)...
andriano
Подсчитать ОЧЕНЬ трудно. Можно считать, что невозможно. Зато можно измерить.
Только следует учитывать, что достаточно большое и даже основное время в ряде случаев может приходиться не на арифметические операции, а на условные оператоы и доступ к памяти.
Архонт
Есть функция(не помню как пишется, вроде gettime), опеделяющая время с точностью до милисек. Сделай замер в начале и в конце работы программы. Потом найди разность. Вот и время программы с точностью до милисекунд
Fanat
Цитата(Архонт @ 15.01.2008 6:42) *

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


Имелось ввиду априорно...
andriano
Цитата(Fanat @ 20.01.2008 20:52) *

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

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