Информатика на пять О нас
 Добавить в избранное
5byte.ru
 Теория
 8 класс
 9 класс
 10 класс
 11 класс
Задания
 8 класс
 9 класс
 10 класс
 11 класс
Книги
Тесты
ЕГЭ
Turbo Pascal 7
 Описание
 Задачи
HTML
Рефераты

17.10. Оптимизация программы

Во многих случаях при использовании языка Паскаль нельзя определенно сказать, какой из ряда возможных вариантов будет лучшим по сравнению с другими вариантами. Однако можно дать некоторые общие рекомендации, соблюдение которых может дать определенный эффект. Эти рекомендации вытекают также из принципов работы оптимизирующего компилятора.

Целесообразно на разных этапах создания и эксплуатации программы использовать различные наборы ключей компилятора (см. п. 17.7.1).

Использование константных выражений в программе не увеличивает размер исполняемого файла и время выполнения программы, т. к. их значения вычисляются на этапе компиляции.

При использовании несколько раз одной и той же константы-строки создается только одна копия этой строки, что экономит память.

Целесообразно, особенно в случае структурированных параметров, использовать в подпрограммах параметры-константы вместо параметров-значений, т. к. в этом случае в стеке не создаются копии исходных параметров, что экономит память и увеличивает быстродействие.

Использование оператора над записями with обычно уменьшает размер исполняемого файла и увеличивает быстродействие программы.

Целесообразно при использовании параметров порядкового типа вместо операций многократного сравнения с граничными значениями использовать операцию in, если диапазон изменения параметра допускает использование множеств. Например, вместо выражения (X >= 'A') and (X <= 'Z') лучше написать: Xin ['A'..'Z'].

Всюду, где можно, следует использовать короткие - в пределах от 0 до 7 (либо от 0 до 15) - множества, т. к. работа с ними осуществляется очень быстро.

Следует учитывать, что при вычислении значений выражений в Turbo Pascal действия одного уровня приоритета не всегда выполяются слева направо (см. п. 4.6), и, если все-таки такая последовательность необходима, нужно выражение разбить на части в соответствии с требуемым порядком выполнения действий.

Не используемые программой подпрограммы, переменные и типизированные константы не увеличивают ее размер, т. к. не включаются в исполняемый файл.

Целесообразно всюду, где только можно, использовать "ближнюю" (near) адресацию подпрограмм, т. к. это экономит память и увеличивает быстродействие.

Для увеличения программы (правда, в ущерб ее размеру) целесообразно параметры располагать, начиная с четных адресов, используя директиву компилятора {$А+}.

Укороченные логические вычисления, как правило, увеличивают быстродействие программы.

При умножении и делении целых чисел на число, являющееся целой степенью числа 2 (2, 4, 8 и т.д.), вместо операций умножения и деления следует использовать операции shr и shl.

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





 У Вас есть материал пишите нам
 
    Copyright © 2008    
  Top.Mail.Ru