“What next?”
Again my pet ignored language&#x2F;compiler technology issue goes unmentioned: data layout optimizations.<p>Control flow and computation optimizations have enabled use of higher level abstractions with little or no performance penalty, but at the same time it&#x27;s almost unheard of to automatically perform  (or even facilitate) the data structure transformations that are daily bread and butter for programmers doing performance work. Things like AoS-&gt;SoA conversion, compressed object references, shrinking fields based on range analysis, flattening&#x2F;dernormalizing data that is used together, converting cold struct members to indirect lookups, compiling different versions of the code for different call sites based on input data, etc.<p>It&#x27;s baffling considering that everyone agrees memory access and cache footprint are the current primary perf bottlenecks, to the point that experts recommend considering on-die computation is free and counting only memory accesses in first-order performance approximations.