Современные программы тормозят не потому что плохо оптимизирован низкоуровневый код, а потому что программисты не умеют оценивать сложность алгоритмов, не понимают, какие алгоритмы стоит применять, какие не уместны в данной задаче, что программе надо делать в первую очередь, что потом, не понимают, как контролировать десятки tradeoffs. Талантливые архитекторы, которые умеют всё это кун-фу, ценятся на вес золота.
The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming.
Ключевое тут «wrong places» и «wrong times». Архитектура приложения это «right place», и начало проектирования для неё — самое «right time». Разворачивать циклы раньше времени и отмечать регистровые переменные — это можно (и нужно) потом делать. А выбрать правильные структуры данных и алгоритмы с адекватной сложностью — вот это делать «никогда не рано». Вот такая моя трактовка фразы Кнута.
gisty
31.08.2011 07:52 Gajim4658D2D6
Do you really want to delete ?