Cтраница 1
Скорость работы программы почти всегда сказывается на ее качестве. Многие интересные находки программистов не могут быть реализованы из-за того, что они выполняются слишком медленно. Откомпилированные программы работают в 20 - 50 раз быстрее, чем программы, выполняемые под управлением интерпретатора. Интерпретатор выполняет роль посредника между программой и процессором и забирает себе большую часть ресурсов компьютера. К тому же он много раз повторяет одни и те же операции. Поэтому практически все прикладные и служебные программы поставляются в откомпилированном виде. [1]
Значительное увеличение скорости работы программ и снижение стоимости программного обеспечения также может быть достигнуто, если при проектировании машины предусматриваются средства для работы с простыми элементами данных, например, такими, как одномерные массивы или векторы. В частности, употребление нескольких регистров общего назначения позволяет программисту применять эффективные по времени методы адресации операндов. Приведенный выше пример суммирования элементов массива хорошо подходит для иллюстрации использования регистров общего назначения. Они могут служить в качестве указателей адресов или индексными регистрами, а также в качестве аккумуляторов данных. [2]
Нецелесообразно заботиться о скорости работы программы в то время, когда она еще не функционирует должным образом. [3]
Скорее всего, следует найти компромисс между скоростью работы программы и сложностью программирования. Один из способов сделать это - взять исходный степенной ряд и построить программу, где будут вычисляться и суммироваться последовательные члены ряда до тех пор, пока не появится член ряда, обеспечивающий требуемую точность вычислений. При таком подходе придется тщательно исследовать вопросы округления, но в общем такая программа вполне приемлема. Преимущество такой программы заключается еще и в том, что при меньших х эта программа работает быстрее. Это уменьшает общую затрату машинного времени, так как ожидается, что малые значения х будут встречаться чаще, чем большие. Для х 1.5, например, достаточно ограничить ряд членом с х10, что не так уж плохо. [4]
Вот и настал момент, когда вы можете на практике тщательно исследовать зависимость между скоростью работы программы и объемом требуемой памяти. С другой стороны, вы ограничены доступной рабочей памятью вашего ПК. [5]
При работе с большими объектами эти вызовы конструктора и деструктора могут оказать слишком ощутимое влияние на скорость работы программы и использование памяти компьютера. Для иллюстрации этой идеи в листинге 9.10 создается пользовательский объект SimpleCat. Реальный объект имел бы размеры побольше и обошелся бы дороже, но и этого примера вполне достаточно, чтобы показать, насколько часто вызываются конструктор-копировщик и деструктор. [6]
![]() |
Некоторые ключи компилятора IFC7. 0 только для платформы IA-32. [7] |
Меньшее значение при - / Zp4 водит к меньшему размеру секции данных, а большее значение увеличивает скорость работы программы. [8]
При возвращении объекта как ссылки достигается гораздо большая эффективность, которая заключается в экономии памяти и увеличении скорости работы программы. [9]
За счет того, что команда fastopen постоянно хранит параметры открываемых файлов, их физическое месторасположение на диске, значительно снижается время открытия файла и увеличивается скорость работы программы. [10]
Для крупных предприятий может поставляться специальная сетевая версия систем, работающая в архитектуре клиент-сервер с сервером БД xBase - типа, повышающая надежность обработки и хранения данных и скорость работы программы. В ней реализованы такие возможности, как ведение многоуровневого аналитического учета; возможность выбора различных форм учета, ориентированных на применение в хозяйственно-коммерческой сфере деятельности или бюджетных организациях; одновременное использование до четырех видов прайс-листов с различными отпускными ценами ( оптовыми, розничными и т.п.), резервирование товаров и ГП, возможность применения нескольких единиц измерения для одной номенклатуры; ведение картотек, наличие справочника типовых операций и автоматическое формирование проводок, сохранение связи документов с операциями и проводками, возможность автоматического пересчета данных при необходимости корректировки БД прошлых отчетных периодов. [11]
Приведенных выше подробностей достаточно для построения программы удаления невидимых линий. Скорость работы программы можно значительно повысить за счет использования связности сканирующих строк. Составим список значений величин SPANrlgbi пробных точек, которые делят сканирующую строку на интервалы, каждый из которых уже не подвергается дальнейшему делению. [12]
Рассмотренная методика проектирования исходит из того, что качество программы в первую очередь определяется минимумом трудовых затрат на ее разработку и сопровождение. Если же скорость работы программы ( для некоторых программ, работающих в режиме реального времени) или объем памяти ( например, для малых машин) становятся определяющими в оценке качества, то может потребоваться пересмотр некоторых положений методики. [13]
Если опция Automatic Register Variables ( Автоматические регистровые переменные) включена, компилятор будет использовать регистровые переменные при каждой подходящей возможности. Использование регистровых переменных намного увеличивает скорость работы программы. С другой стороны, отладка программы с регистровыми переменными может сильно усложниться. Компилятор может оптимизировать ваши переменные во время отладки, сделав их недоступными для просмотра. Если переменная была оптимизирована, в окне переменных наблюдения появится сообщение Variable х has been optimized and is not available ( Переменная х была оптимизирована и недоступна), когда вы попытаетесь ее просмотреть. [14]
![]() |
Время выполнения программы Pager в секундах. [15] |