Но если задача требует того, приходится иногда приносить в жертву удобство, модифицируемость и расширяемость архитектуры программы ради оптимизации по использованию ресурсов.
Мой профессиональный случай. Микроконтроллеры
Для них "времена жутких дефицитов вычислительных ресурсов" не прошли пока
Хотя жить стало намного проще и веселее
Не далее, как неделю назад беседовал с одним молодым специалистом. Был и долгий разговор о "вкусностях" и современностях С++. Все бы хорошо... Только он слишком безапеляционно ратовал за STL. Дал я ему для удовлетворения любопытства небольшую программу, в которой все было написано с использованием динамически выделяемых массивов. Никаких векторов, никокой STL. И попросил - на, перепиши все это, вместо массивов - вектора и списки, что тебе удобней, то и воткни...Молодец, переделал быстро и качественно. Благо не очень трудно было. Надо было видеть, насколько широко были вытаращены его глаза, когда он получил результат после компиляции
Объем исполняемого кода вырос в 1,83 раза
Почти в 2... Естественно, ради чистоты эксперимента в обоих случаях компилировалось все без какой-либо оптимизации. Однако, он этого не ожидал. Почему? Не знаю
На вопрос, а не хочет ли он заодно убедиться во сколько раз упадет эффективность работы программы, он ответил - я пока подумаю
Я все это к чему веду - я бы тоже с огромным удовольствием выбрал бы элегантность кода, да жизнь не позволяет иногда. Приходится сочинять собственные "элегантные" решения
Это я уже к решению, которое предлагал
acc15.