Мир меняется, и мы должны измениться вместе с ним. Когда я только начинал, то, чтобы быть хорошим программистом, было связано со знанием всех небольших микрооптимизаций, которые вы могли бы сделать, чтобы выжать еще 0,2% из рутины, манипулируя указателями в C и другими подобными вещами. Теперь я трачу гораздо больше времени на то, чтобы сделать алгоритмы более понятными, поскольку в долгосрочной перспективе это более ценно. Но - всегда есть что оптимизировать, и всегда есть узкие места. Больше ресурсов означает, что люди ожидают от своих систем большего, поэтому неаккуратность не подходит для профессионалов.
Стратегии оптимизации меняются по мере того, как вы добавляете больше скорости / памяти / ресурсов для работы.
Некоторая оптимизация не имеет ничего общего со скоростью. Например, при оптимизации многопоточных алгоритмов вы можете оптимизировать сокращение общего числа общих блокировок. Увеличение мощности процессора в виде скорости (или, что еще хуже, процессоров) может не иметь никакого эффекта, если ваша текущая мощность процессора тратится на ожидание блокировок ... Добавление процессоров может даже снизить общую производительность, если вы делаете что-то неправильно , Оптимизация в этом случае означает попытку уменьшить количество блокировок и сохранить их как можно более мелкими, а не пытаться уменьшить количество инструкций.