2013-05-24 18 views
6

Przeprowadź test porównawczy kilka razy, aby zanotować średnie odczytanie. Ale zauważam, że po pierwszym uruchomieniu kolejne przebiegi są szybsze. Przypuszczam, że ma to coś wspólnego z pamięcią podręczną instrukcji, więc kiedy uruchomię program następnym razem, benchmark ma już instrukcje w pamięci podręcznej. Czy istnieje sposób na uruchomienie programu z zimnymi instrukcjami i pamięcią podręczną danych?Jak uruchomić program z zimną pamięcią podręczną?

+2

Bardziej prawdopodobne, że pamięć podręczna dysku, tak myślałem? –

+0

Jest to prawdopodobne, ponieważ program i dane są odczytywane z dysku, a nie z pamięci podręcznej procesora. – sharptooth

+0

Ładne pytanie !! –

Odpowiedz

4

Jest to normalne zachowanie. Jednym ze sposobów na uniknięcie tego problemu jest uruchomienie kilku rozgrzewek przed głównym przejazdem. Te rozgrzewki spowodują nadpisanie pamięci podręcznej, która rozwijała poprzednio działający program. Podczas obliczania wartości średniej, wykluczyć wartości rozgrzewki, bierzemy tylko rzeczywisty bieg. Różne narzędzia do zaznaczania stanowisk pracy, które podają takie podejście. kernbench, lmbench itp. Gdzie dostępna jest wartość ocieplenia. Jeśli test porównawczy, którego używasz, zależy od danych, które trzeba odczytać z dysku, to buforowanie dysku ma również pewien wpływ, jednym ze sposobów uniknięcia jest buforowanie tych danych do pamięci RAM, jeśli to możliwe. Ta technika jest używana w kernbench, aby uniknąć problemu związanego z pamięcią podręczną dysku.

Powiązane problemy