True LRU, pseudo-LRU trees, and simpler bit-based approximations are exactly the design space real cache controllers navigate: Intel L1 caches use true LRU because 8-way tracking is cheap, while ARM and AMD L2/L3 caches use tree-based pseudo-LRU because tracking exact order across 16+ ways would be too costly in hardware. The 10-15% hit-rate gap between LRU and random eviction you measure here is a real, measurable performance difference in production CPUs.