В словах этих, конечно же, есть истина. Однако довелось мне на днях оптимизировать достаточно критичную структуру данных. На Джаве. Надо было написать наиболее быстрый и оптимальный по памяти контейнер для пар строка-обьект, причем таких пар не больше 20 на контейнер. Как отправная точка брался HashMap. Так вот, в первой паре тестов быстрее оказывался тот контейнер, который тестировался первым по ходу программы :) Пришлось вспоминать, как устроены процессорные кэши и думать, как оно вообще где выполняется. Ну и также пришлось вспоминать воркшоп с разработчиками GC, чтобы написать более-менее репрезентабельный тест всего цикла использования контейнеров, включая GC. Но, пожалуй, на этом уровне уже можно остановиться. Ибо знание ассемблера уже никак не помогает ничего отоптимизировать - даже самые крепкие уже согласились, что оптимизирующие компиляторы справляются лучше.
no subject