Załóżmy, że w kodzie o znaczeniu krytycznym mamy parę macierzy, które są często używane razem, gdzie dokładny rozmiar nie ma znaczenia, wystarczy ustawić coś rozsądnego, np.Unikanie uprawnień 2 dla łatwości obsługi pamięci podręcznej
int a[256], b[256];
Jest to potencjalnie pessimization ponieważ niskie bity adresowe są takie same mogą utrudnić cache obsłużyć obie tablice jednocześnie? Czy byłoby lepiej określić np. 300 zamiast 256?
Masz rację, podejrzewając, że uprawnienia dwóch mogą być problematyczne. Ale zwykle ma to zastosowanie tylko wtedy, gdy masz więcej niż dwa kroki. (szczególnie gdy przekroczysz liczbę pamięci podręcznej L1) [Oto przykład tego, gdzie w rzeczywistości staje się problematyczny.] (http://stackoverflow.com/questions/8547778/why-is-one-loop-so-much-slower-than -twoja-pętle) W tym przykładzie są 4 tablice - wszystkie są wyrównane do tego samego przesunięcia od początku strony 4k. – Mysticial