Optymalizacja obsługi usuwania pamięci podręcznej bazy danych shaderów Mesy została połączona z Mesą 23.1 z naciskiem na korzyści dla wstępnego buforowania shaderów Steam.
Dmitrij Osipenko z firmy Collabora zauważył, że jego prośba o scalenie sprzed miesiąca w końcu dotarła, aby zoptymalizować proces usuwania pamięci podręcznej bazy danych shaderów Mesa. Osipenko wyjaśnił w MR:
Kiedykolwiek mesa-db pamięć podręczna osiągnie limit rozmiaru, połowa pamięci podręcznej zostanie eksmitowana. Ogólnie działa dobrze, ale niektóre przypadki użycia cierpią z powodu eksmisji dużych pamięci podręcznych. W szczególności wstępne buforowanie modułu cieniującego Steam może z łatwością zapełnić pamięć podręczną modułu cieniującego Mesy iw tym przypadku o wiele bardziej preferowane jest przechowywanie większej liczby wpisów w pamięci podręcznej niż usuwanie połowy pamięci podręcznej.
Aby złagodzić eksmisje dużych pamięci podręcznych, podzielimy pamięć podręczną mesa-db na wiele mniejszych części, tak aby tylko jedna część była eksmitowana naraz. Średnio to MR skraca czas eksmisji pamięci podręcznej o x40 i znacznie poprawia współczynnik trafień pamięci podręcznej po osiągnięciu limitu rozmiaru pamięci podręcznej.
Ta funkcja dodaje zmienne środowiskowe MESA_DISK_CACHE_DATABASE_NUM_PARTS i MESA_DISK_CACHE_DATABASE_EVICTION_SCORE_2X_PERIOD w celu lepszej kontroli mesa-db obsługa pamięci podręcznej. Wykorzystując nową funkcję w wydaniu Mesa 23.1 w następnym kwartale, „Ta poprawka zapewnia 40-krotną poprawę wydajności w zakresie czasu eksmisji pamięci podręcznej przy użyciu wieloczęściowej pamięci podręcznej w porównaniu z pamięcią podręczną pojedynczego pliku ze względu na mniejsze części eksmisji i bardziej zoptymalizowany algorytm eksmisji”.