Die Forderung, daß die Treffer-Wahrscheinlichkeit mit der Häufigkeit der Verwendung (in der Vergangenheit) gekoppelt wird, kann also zu einer erheblichen Degradation des Cache führen. Hier fehlt irgendwie noch eine Zeitkomponente.
Der Cache mag ja ggf. "nur" 10 Elemente halten, aber die Statistik welche Elemente in den Cache kommen muss mehr Elemente kennen/können und diese auch historisch speichern...
Ich wollte eigentlich darauf hinaus, daß man eher Wert auf die zuküftige Verwendung der Elemente abzielt, als auf die vergangene. Selbst mit der erweiterten Statistik brauche ich erst 100 Zugriffe bis das neue Element in den Cache kommt, wobei selbst nicht mehr benötigte Elemente noch zu lange im Cache bleiben. Um 10 Elemente mit Verwendung 100 aus dem Cache zu werfen bedarf es mindestens 10 anderer Elemente mit jeweils auch 100 Zugriffen. Das sind über 1000 Cache-Misses, die man eigentlich vermeiden möchte. Man rechne das mal mit realistischeren Cache-Größen und Cache-Hits hoch. Der Effekt verschlimmert sich noch mit einer längeren Verwendung des Cache.
Ich will hier jetzt auch keine Diskussion über Cache-Architekturen losbrechen, aber mit den vorhandenen Rahmenbedinungen ist eine Bewertung der vorgelegten Lösungen reine Geschmackssache. Deswegen meine Eingangsfrage nach der Testsuite, mit der eine objektive Beurteilung zumindest möglich wäre.