44. Достоинства и недостатки оптимизации
44. Достоинства и недостатки оптимизации
Оптимизация кодов для любого языка всегда заставляет идти на компромиссы. Такими компромиссами являются:
1) сокращение используемого объема памяти в результате снижения быстродействия;
2) увеличение быстродействия в результате ухудшения возможностей сопровождения и доступности текста программы для чтения;
3) уменьшение времени деятельности программы в результате увеличения времени ее разработки. Среди операций, которые приведены ниже, каждая
следующая требует больше времени, чем предшествующая. Рассмотрим эти операции: регистр/регистр, операции с памятью, операции с диском и операции взаимодействия с пользователем. Так что не стоит тратить силы на сокращение нескольких машинных циклов в программе, когда скорость ее исполнения ограничена операциями обращения к дисковым файлам. Взамен можно применить сокращение числа таких операций. А после выполнения того, что, в принципе, могло бы быть оптимизацией, следует осуществить тщательную проверку полученных результатов.
Прежде чем рассматривать настройку некоторой программы, следует убедиться, что она правильная и полная, что применяется правильный для решения поставленной задачи подход и что составлен наиболее ясный, наиболее простой, наиболее структурированный код, который только был возможен.
Если программа удовлетворяет всем приведенным критериям, то на самом деле ее объем и скорость выполнения чаще всего будут вполне приемлемыми без каких-либо дальнейших усовершенствований. Но только применение ассемблера само по себе приводит к повышению скорости выполнения программы в 2–3 раза и примерно к такому же уменьшению размера по сравнению с такой же программой на языке высокого уровня. Кроме того, если что-то делает проще чтение программы и ее сопровождение, то обычно при этом увеличивается скорость исполнения. Можно отказаться от «макаронных» кодов со многими ненужными переходами и вызовами подпрограмм, а также предпочтение простых прямолинейных машинных команд похожим сложным.
Кроме того, самой главной заботой должны быть ощущения потенциального пользователя при работе с данной программой: насколько производительной покажется программа ему? Если о полученной программе складывается мнение, как о неуклюжей, то есть вероятность, что она не будет должным образом оценена. Примером является судьба пакета ToolBook.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
5.8. Достоинства и недостатки фреймов
5.8. Достоинства и недостатки фреймов Поскольку вокруг фреймов существует много разговоров об их необходимости, рассмотрим их достоинства и недостатки, чтобы можно было самостоятельно решить, стоит ли использовать их на своем сайте.Достоинства фреймов следующие.•
Достоинства и недостатки объектов CRITICAL_SECTION
Достоинства и недостатки объектов CRITICAL_SECTION Прежде всего, мы попытаемся количественно оценить влияние объектов синхронизации на производительность, и сравним между собой объекты CRITICAL_SECTION и мьютексы. В программе statsMX.c (программа 9.1) для синхронизации доступа к
Недостатки
А если по-другому? Ниже приведено сравнение других методов для снятия блокировки с загрузки скриптов, но все они также обладают своими недостатками. Метод Недостатки Используем атрибут defer тега scriptРаботает только в IEИспользуем document.write() для подключения тега
Достоинства и недостатки
Достоинства и недостатки Несомненным достоинством каталогов является наглядность и простота поиска. Вам не нужно выдумывать какие-либо запросы, а затем выискивать что-то полезное из всего того многообразия ссылок, которые нашла поисковая система, – вы точно знаете,
Достоинства и недостатки
Достоинства и недостатки Стоит ли все-таки знакомиться с помощью Интернета? Ответить на этот вопрос однозначно довольно сложно. Ознакомьтесь с плюсами и минусами такого способа завязывания отношений и решайте для себя сами.Итак, достоинства.– Простота. Не нужно
21.1. Достоинства и недостатки
21.1. Достоинства и недостатки В этой главе будет рассмотрена настройка Linux как рабочей станции для игрового зала. У вас может возникнуть вопрос: почему именно как рабочей станции? Ответ очень прост: любую Linux-систему довольно легко превратить из рабочей станции в сервер,
12.20 Недостатки DNS
12.20 Недостатки DNS Domain Name System — очень важная система. Некорректные элементы базы данных могут сделать невозможным доступ к прикладным хостам. Поскольку многие администраторы используют распределенную базу данных с ручным вводом информации, весьма вероятно возникновение
Не только достоинства VoIP
Не только достоинства VoIP Недостатки VoIP-телефонии – это продолжение достоинств. Поскольку телефонная связь осуществляется через Интернет, то ее надежность напрямую зависит от качества и надежности интернет-соединения. А оно, прямо скажем, не всегда бывает на высшем
1.3.3. Достоинства и недостатки анонимных прокси-серверов
1.3.3. Достоинства и недостатки анонимных прокси-серверов Особых преимуществ перед анонимайзерами у анонимных прокси-серверов нет, если не считать того, что вы можете выбрать анонимный прокси с нужным вам IP-адресом. А вот недостатков достаточно:? непостоянство – как уже
3.1.2. Недостатки
3.1.2. Недостатки А теперь ложка дегтя – о недостатках I2P. Нет ничего идеального, и I2P – тоже не идеальна. Начнем с самой концепции I2P. Анонимизация и шифрование трафика происходит лишь внутри этой сети. Работая с I2P, вы можете обратиться только к I2P-ресурсам (к I2P-сайтам, почте,
1.6.15. Правило оптимизации: создайте опытные образцы, заставьте их работать, прежде чем перейти к оптимизации
1.6.15. Правило оптимизации: создайте опытные образцы, заставьте их работать, прежде чем перейти к оптимизации Самый основной аргумент в пользу создания прототипов впервые был выдвинут Керниганом и Плоджером (Plauger): "90% актуальной и реальной функциональности лучше, чем 100%
1.6.15. Правило оптимизации: создайте опытные образцы, заставьте их работать, прежде чем перейти к оптимизации
1.6.15. Правило оптимизации: создайте опытные образцы, заставьте их работать, прежде чем перейти к оптимизации Самый основной аргумент в пользу создания прототипов впервые был выдвинут Керниганом и Плоджером (Plauger): "90% актуальной и реальной функциональности лучше, чем 100%
ДОСТОИНСТВА ЯЗЫКА СИ
ДОСТОИНСТВА ЯЗЫКА СИ Язык Си быстро становится одним из наиболее важных и популярных языков программирования. Его использование все более расширяется, поскольку часто программисты предпочитают язык Си всем другим языкам после первого знакомства с ним. Когда вы изучите
Достоинства и недостатки связных списков
Достоинства и недостатки связных списков Связные списки обладают одним очень важным преимуществом: для них операции вставки и удаления принадлежат к классу O(1). Независимо от текущего элемента спуска и его емкости, для вставки или удаления элемента всегда требуется одно
Достоинства и недостатки симметричного и асимметричного методов шифрования
Достоинства и недостатки симметричного и асимметричного методов шифрования На сегодняшний день в сфере ИБ широко представлены системы как с симметричным шифрованием, так и с асимметричным. Каждый из алгоритмов имеет свои преимущества и недостатки, о которых нельзя не
Достоинства Flash
Достоинства Flash Давайте перечислим все достоинства Flash, Короля Графики, Спасителя Всея Интернета и проч., и проч., и проч., и подробно их опишем. Ну и, конечно, расскажем о его недостатках и о том, как их можно обойти или преодолеть.УниверсальностьПредставим себе двух