Home

Page 40
Page 40
background image

Минимизация и невидимость 33

А что, если внутри цикла написать строки 2 и 3 десять раз? Это значит, что

за один проход цикла строки 2 и 3 будут вычисляться 10 раз, и мне понадо-
бится повторить такой цикл только 10 раз, чтобы получить в результате 100.

А это уже экономия 90 операций переходов.

Недостаток этого подхода

 увеличился код моей программы, зато повыси-

лась скорость, и очень значительно. Этот подход очень хорош, но им не

стоит злоупотреблять. С одной стороны, увеличивается скорость, а с другой —

увеличивается размер. А большой размер — это враг любой программы.

В любом деле главное

 разумная достаточность. Чем больше вы увеличи-

ваете код ради оптимизации скорости, тем меньше результирующий эффект

от оптимизации.

В жизни таких примеров намного больше. Любую циклическую операцию

можно оптимизировать. Хотите пример? Пожалуйста. Допустим, у вашего

провайдера Интернета есть несколько телефонов доступа. Вы каждый день
перезваниваете на каждый из них в надежде найти свободный. Начинающий

тут же скажет, что провайдер обязан оптимизировать свои пулы модемов

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

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

сама будет перебирать номера телефонов.

А теперь другой пример

 вам на 1 час досталась карточка какого-то нового

провайдера. Заносить ее в программу дозвона не имеет смысла, потому что
вы можете больше никогда не позвонить ему. Из-за этой одноразовой опе-

рации вам придется перенастраивать свой дозвонщик на нового провайдера

и потом обратно, а выигрыш практически нулевой, потому что пока вы ме-

няете настройки, уже можно было дозвониться стандартными средствами
Windows. Отсюда сразу же напрашивается вывод — нужно правильно выби-

рать средства для выполнения необходимых задач.

ЗАКОН № 4

(Этот закон — расширение предыдущего.)

Оптимизировать одноразовые операции — это только потеря времени. Сто раз

 прежде чем начать мучиться с редкими операциями.

Полгодика назад я прочитал рассказ в Интернете "Записки жены програм-

миста"

 Очень даже некислый и жиз-

ненный рассказ. Когда я его читал, у меня было ощущение, что его написа-

ла моя жена. Слава "Красной Шапочке", что она на такую подлость не

способна. Так вот там была такая ситуация.
Очаровательная девушка выходит замуж за программиста, и им надо разо-
слать приглашения на свадьбу. Вместо того чтобы набрать их на печатной


Copyright © 2020 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.