Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Общие вопросы разработки программ _ Время выполнения программы

Автор: Fanat 10.12.2007 23:25

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

Автор: andriano 11.12.2007 2:07

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

Автор: Архонт 15.01.2008 10:42

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

Автор: Fanat 21.01.2008 0:52

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

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


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

Автор: andriano 21.01.2008 12:47

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

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

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

Автор: Fanat 23.01.2008 2:57

Спасибо.. smile.gif