Во втором да-много ядер, хорошо, масштабируемся параллелизацией. А в низколатентном приходится считать такты, нарезать данные под кеш, уменьшать кол-во ветвлений в коде для упрощения работы предсказателя ветвлений в CPU, резать любые виртуальные вызовы и вообще динамическую аллокацию(ибо недружественно к кешу) и прочая-прочая-прочая
угу. но суть в том, что поменялось соотношение сильно. раньше много можно было достичь тем, что ты написал и мало распараллеливанием. сейчас боьше выхлопа часто получаешь, если в правильных точках распараллелишь очень хуевый синхронный код.