De caches worden wel steeds groter maar de programmeurs daarom niet slimmer.
Ik zei dat de caches slimmer werden, niet de programmeurs.
En compilers hebben nooit veel invloed gehad op de cache, omdat dit vooral beïnvloed wordt door het gebruikte algoritme en geheugenlayout, waar alleen de programmeur controle over heeft.
Dat is precies waar ik op doel, programmeurs worden zich meer bewust van efficient gebruik van caching, omdat dat steeds belangrijker wordt.
Dat doet men reeds zo goed mogelijk voor performantie-kritieke toepassingen. Feit is dat al die data gewoon niet in de cache past, en sommige algoritmes zullen nooit cache-vriendelijk zijn.
Maar ik beweer dus dat spelletjes vaak beter zouden kunnen. Natuurlijk past niet altijd alles in de cache, en is niet alles cache-vriendelijk, maar je kunt het nog wel zo goed mogelijk implementeren. En zo nu en dan krijg je ook 'verschuivingen' in de technologie, waardoor een algoritme dat eerst langzamer was, nu sneller is, omdat de verhoudingen tussen ALU, cache en geheugen compleet anders liggen.
En 2-4 MB is echt nog niet de gemiddelde hoeveelheid cache. 1 MB begint in trek te komen, maar men verkoopt even goed nog Celerons met 256 kB. Dan telt RAM latency zwaar mee.
Nu niet, maar ik had het over de de verwachten cachegrootte ten tijde van DDR3/XDR. Want zoals je begrijpt, past het dan prima in mijn verhaal: meer latency, maar grotere caches, dus op zoek naar nieuwe algoritmen/implementaties voor optimaal gebruik van deze configuraties.
En dan is een logisch gevolg dus dat de latency minder belangrijk wordt, want daar wordt nu 'omheen' geprogrammeerd.