alex63 писал(а):
To
YuriAMНапишите, почитаем. Это называется "защитное программирование".
...
или еще лучше засунуть sort в класс, который будет прверять значение на корректность по каждому чиху и совместно с другими такими доведет производительность четырехядерного 3 ГГц процессора до уровня 80286 12 Мгц

.
На практике всё выглядит немного иначе -- если человек плохо представляет логику предметной области: он и с любыми защитными приемами ухитряется написать такое глюкалово (каждый день все наблюдаем, в том числе и в части конфигов DFL). А если представляет хорошо -- тогда дополнительная защита на 90% не нужна.
Вынужден не согласиться. Применение группы интерфейсов вместо интерфейса
any скорее всего теоретически медленнее на считанные команды (в зависимости от реализации) на стадии установки соединения и, соответственно никак не сказывается на производительности DFL. Именно применение группы нужных интерфейсов чаще говорит о том, что человек точно знает, что надо делать и понимает логику работы устройства. Бесконтрольное применение же интерфейса
any и сети
all-nets может напоминать стрельбу из пушки по воробьям - локальную цель вы вполне можете поразить, но тут же повредить иным, нижележащим правилам или создать эту угрозу на будущее.
Так что, я бы сказал, отказ от использования интерфейса
any - не защитное, а правильное программирование.
alex63 писал(а):
или еще лучше засунуть sort в класс, который будет проверять значение на корректность по каждому чиху и совместно с другими такими доведет производительность четырехядерного 3 ГГц процессора до уровня 80286 12 Мгц

.
Ну а это просто гипербола. Защитное программирование, связанное с многочисленными проверками может повлечь за собой падение производительности на несколько процентов. В тяжелых случаях - на десятки процентов.
Выигрыш же (или проигрыш) производительности в разы или десятки раз может быть вызван только сменой алгоритма.
К примеру, мне в своей давней программистской практике лишь однажды удалось достичь выигрыша производительности в 4-6 раз (для разных моделей процессоров) переписав код вычислительной матричной задачи с плавающей запятой с языка Си на ассемблер. Т.е. экстенсивным путем, не алгоритмически. Что достигалось тщательной оптимизацией кода - заменой операций работы с памятью на регистровые, операций деления на умножение и т.п.
_________________
6 x
DFL-210, 2 x
DFL-800. Для
DFL-210/260/800/860 лучшая прошивка 2.27.08.03 (for WW).
СКАЧАТЬ.Совет: Не используйте в IP- и Routing-правилах сочетание
any/all-nets нигде, кроме временных правил. Иначе возможны бреши в безопасности и несрабатывание последующих правил.