Чаще всего узким местом в высокопроизводительных системах является оперативная память (RAM). Если CPU способны выполнять до 4-х инструкций за такт, то обращение к памяти от единиц тактов для кеша L1 до сотен тактов для RAM. Если при разработке ПО учесть организацию RAM, то можно ощутимо ускорить производительность.
На примере нашего приложения расскажем как мы при помощи профилирования нашли узкие места в программе. Какие CPU метрики (DTLB miss, L2/L3 cache miss, RAM throughput) проседали, какие решения мы применяли для увеличения производительности. Эти простые методы применимы для широкого круга задач разработки.