Kiitos.
Eli siis:
Non-temporal write on käsky joka kirjoittaa dataa muistiin ohittaen välimuistin. Se on varsinaisesti tarkoitettu siihen, että voidaan käskyttää muistimapattuja IO-laitteita, mutta AoS:ssä sitä oli käytetty siihen, että kun pelin koodari tiesi, että jotain dataa ei tulla pian tarvitsemaan uusiksi, hän ei halunnut "sotkea" välimuistia tällä datalla ja käytti sen takia non-temporal writeä, kirjoitti muistiin ohittaen välimuistin.
Tämä "fiksu" koodari ei ollut kuitenkaan tajunnut sitä, että jos se osoite _on jo ennestään_ välimuistissa, sitten välimuisti pitää flushata(ja prossu tekee sen automaattisesti, aiheuttaen huomattavan hidastumisen) ennen kuin non-temporal writeä voi käyttää, ja tällöin se non-temporal writen käyttö normaalin kirjoituksen sijasta vaan aiheuttaakin huomattavan hidastuksen (eikä mitään säästetä).
Ryzenillä L3-kakkua on enemmän ja sen rakenne on monimutkaisempi, joten todennäköisyys siihen, että joku data löytyi jo ennestään jostain kakusta oli paljon suurempi (ja nuo kaksi erillistä L3-kakkua tekee paljon vaikeammaksi ohjelmoijalle ennustaa/tajuta, mitä dataa siellä kakuissa on) joten ryzenillä noita non-temporal writejen aiheuttamia kakun flushauksia tapahtui paljon enemmän kuin intelin prossuilla.
Eli pelin koodari oli yrittänyt tehdä "hienon optimoinnin" joka osoittautuikin Ryzenillä pessimoinniksi.
Ja korjaus oli ilmeisesti tuon "hienon optimoinnin" poistaminen