It's a good thing that FIFO isn't the only Memory & Cache Replacement Strategy [0]. Way back when, I wrote a Cache Simulator in HTML+JS [1][2]. Hasn't aged well; you used to be able to drag and drop a list a file containing a list of addresses. I ought to clean it up and make it functional again.
I've sometimes wondered if a Cache Line Size-aware Strategy could significantly improve Garbage Collection. I've mentally toyed with the idea of a Linked List of bitmaps of Arenas (made of Cache Line Sized chunks) with a Reference Counter bitlist could improve GC performance. It could even be extended for use in non-OOP languages with the GCC RAII Cleanup Extension [3], even for primitive and other non-OOP types.
[0] https://en.m.wikipedia.org/wiki/Cache_replacement_policies
[1] https://github.com/lpsantil/CacheSimulator/blob/master/index...
[2] http://lpsantil.github.io/CacheSimulator/
[3] https://en.wikipedia.org/wiki/Resource_acquisition_is_initia...