12.1. Отказ от оптимизации

12.1. Отказ от оптимизации

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

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

Данная точка зрения может быть обоснована математически. Почти никогда не следует выполнять оптимизацию, которая сокращает использование ресурсов просто на постоянную величину. Гораздо разумнее сконцентрировать усилия на случаях, в которых можно сократить среднее время запуска или использование пространства с O(n?) до O(n) или О(n log n)[108] или подобным образом понизить порядок. Согласно закону Мура, линейный прирост производительности достаточно быстро уменьшается[109].

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

45. Отказ от универсальности

Из книги Программирование автора Козлова Ирина Сергеевна

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


Атаки типа «отказ в обслуживании» (DoS) и «распределенный отказ в обслуживании» (DDoS)

Из книги Защити свой компьютер на 100% от вирусов и хакеров автора Бойцев Олег Михайлович

Атаки типа «отказ в обслуживании» (DoS) и «распределенный отказ в обслуживании» (DDoS) На сегодняшний день DDoS-атаки являются одними из самых опасных с точки зрения последствий. Посудите сами: крупный обслуживающий банковский сервер, который на некоторое время (пусть даже на


15.6. Отказ от рекламы. Баннерный фильтр

Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

15.6. Отказ от рекламы. Баннерный фильтр Вам не хочется тратить лишнее время на загрузку рекламных баннеров? Мне тоже. К счастью, SQUID позволяет достаточно просто решить эту проблему. Просто вставьте следующие строки в свой файл /usr/local /etc/squid/squid.conf:acl good_url url_regex


1.6.15. Правило оптимизации: создайте опытные образцы, заставьте их работать, прежде чем перейти к оптимизации

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

1.6.15. Правило оптимизации: создайте опытные образцы, заставьте их работать, прежде чем перейти к оптимизации Самый основной аргумент в пользу создания прототипов впервые был выдвинут Керниганом и Плоджером (Plauger): "90% актуальной и реальной функциональности лучше, чем 100%


12.1. Отказ от оптимизации

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

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


1.6.15. Правило оптимизации: создайте опытные образцы, заставьте их работать, прежде чем перейти к оптимизации

Из книги UNIX: взаимодействие процессов автора Стивенс Уильям Ричард

1.6.15. Правило оптимизации: создайте опытные образцы, заставьте их работать, прежде чем перейти к оптимизации Самый основной аргумент в пользу создания прототипов впервые был выдвинут Керниганом и Плоджером (Plauger): "90% актуальной и реальной функциональности лучше, чем 100%


Атака типа «отказ в обслуживании»

Из книги Scrum и XP: заметки с передовой автора Книберг Хенрик

Атака типа «отказ в обслуживании» Один из недостатков последовательных серверов был уже отмечен выше — некоторым клиентам приходится ждать дольше чем нужно, потому что их запросы приходят после запросов других клиентов, запрашивающих большие файлы. Существует и другая


Отказ от ответственности

Из книги Деловая e-mail переписка. Пять правил успеха автора Воротынцева Тамара

Отказ от ответственности Эта книга не претендует на звание «единственно правильного» учебного пособия по Scrum! Она всего лишь предлагает вам пример удачного опыта, полученного на протяжении года в результате постоянной оптимизации процесса. Кстати, у вас запросто может


Письмо-отказ

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич


18.7. Отказ от рекламы. Баннерный фильтр

Из книги Ubuntu 10. Краткое руководство пользователя автора Колисниченко Д. Н.

18.7. Отказ от рекламы. Баннерный фильтр Вам не хочется тратить лишнее время на загрузку рекламных баннеров? Мне тоже. К счастью, SQUID позволяет достаточно просто решить эту проблему. Просто вставьте следующие строки в свой файл squid.conf:acl good_url url_regex "/usr/local/etc/sguid/acl/good_url"acl bad_urlpath


23.3.3. Отказ видеокарты

Из книги Linux глазами хакера автора Флёнов Михаил Евгеньевич

23.3.3. Отказ видеокарты При отказе видеокарты звуковой сигнал BIOS (фирмы AWARD) будет таким — один длинный и два коротких. Если у вас BIOS другой фирмы, то самое время прочитать о его звуковых сигналах в руководстве к материнской плате. Полный отказ видеокарты встречается редко и


23.3.4. Отказ материнской платы и процессора

Из книги iOS. Приемы программирования автора Нахавандипур Вандад

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


8.4.7. Отказ от обслуживания

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

8.4.7. Отказ от обслуживания Почтовые серверы довольно часто подвергаются атакам типа DoS, потому что они должны принимать соединения для обслуживаемых почтовых ящиков от любых пользователей. Таким образом, подключение на 25 и 110 порты, чаще всего, общедоступны.Для защиты


14.8. Отказ от многозадачности

Из книги Идеальный программист. Как стать профессионалом разработки ПО автора Мартин Роберт С.

14.8. Отказ от многозадачности Постановка задачи Требуется исключить использование в вашем приложении


Атака типа «отказ в обслуживании»

Из книги автора

Атака типа «отказ в обслуживании» К сожалению, функционирование только что описанного сервера вызывает проблемы. Посмотрим, что произойдет, если некий клиент-злоумышленник соединится с сервером, отправит 1 байт данных (отличный от разделителя строк) и войдет в состояние


Отказ от участия

Из книги автора

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