LogoHome   >>   Opinion   >>   Review

Review

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

Несмотря на название, в статье очень мало об Ассемблере и много - об
оптимизации. Рекомендуется к прочтению.

Дункан, Рэй ! Оптимизация программ на ассемблере (19,669)



P.S.

Музыкой навеяло...

Рэй пишет:

> Стоит еще раз повторить мудрое изречение доктора Кнута: "Многие беды
> программирования проистекают от преждевременной оптимизации".


В околокомпьютерных кругах, среди людей, считающих, что они причастны к
программированию (типа администраторов сайтов и прочих менеджеров), это
выражение достаточно популярно.

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

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


Представьте, заказали вам небольшой пассажирский самолет. ТЗ, разумеется, подписывал босс и другие важные люди, вас не приглашали. Перечитав трижды и обведя маркером парочку заведомо невыполнимых пунктов, помолясь и составив завещание, вы взялись за дело и явились к боссу с проектом. - Так, обтекатели из стеклопластика - это еще на фига? У меня шурин на металлке работает, закажем там из стали 3. - Дюралевый корпус? Для облегчения? Опять ты со своей оптимизацией... С чего ты решил, что нужен непременно дюраль? Первую версию сделаем из чугуна. Когда полетит, тогда и решим, стоит ли ее оптимизировать. - Салон на 72 пассажира? Ты совсем охренел? А почему не 92? Почему не 122? Откуда вдруг эти хардкодные ограничения? Читаем ТЗ, пункт 628.5.3: "Пассажирский салон переменной вместимости, растягивающийся по необходимости". Понятно? "Рас-тя-гивающийся". "По необходимости". Ты динамический салон от статического отличаешь? Или выгнать тебя на хрен "по несоответствию"? - Шасси... пневматика от... Парень, с тобой не соскучишься. Компоненты от третьих фирм у нас в смете не заложены. Мне тут как-то зять колеса от "Беларуси" подарил - списал трактор в металлолом, - вот их и поставим на альфу. Резина, правда, "лысая", но к бете апгрейд сделаем - купим новые шины. Опять же, импорт. Заказчик счастлив будет, что не китайские. Я думаю, можно не продолжать. Зато все эти компоненты эффективного менеджмента: ржавый обтекатель, чугунный корпус, колеса от трактора... красиво оформлены UML-диаграммами, что, разумеется, гарантирует их идеологическую непогрешимость, объектную ориентированность и грядущий успех выполняемой разработки. И когда случается так, что безукоризненно вычерченный в UML, чугунный самолет почему-то не взлетает, виноват, разумеется, исполнитель-программист с его "преждевременной оптимизацией" и стеклопластиковым блистером.


© Gazlan 2012 * gazlan@yandex.ru

Hit Counter