2011-12-02 20 views
8

Kiedy robię test porównawczy wydajności (C++), stwierdzam, że aplikacja jest czasami trochę szybsza lub wolniejsza. Jest to związane z bieżącym stanem systemu operacyjnego/pamięcią podręczną/pamięcią i stanem sprzętu graficznego.Jak przygotować stałe środowisko testowe?

Używam Win7. Zastanawiam się, czy istnieje pewna wskazówka, aby powiedzieć mi, jak uzyskać stabilne/stałe środowisko do testów porównawczych wydajności?

Odpowiedz

3

Istnieje wiele sposobów, aby to zrobić - to, co robię do moich testów, używa WAIK (Windows Automated Installation Kit, dostępny bezpłatnie od Microsoft), aby wdrożyć minimalny system Windows 7 na oddzielnej stacji roboczej.

Następnie, następujące elementy konfiguracji należy rozważyć/zmienił (spróbuj nie odbiegają zbytnio od typowego komputera użytkownika, ty, w przeciwnym razie odniesienia nie będzie konstruktywna):

  • zestaw pliku stronicowania do statyczne 2x RAM
  • Aktualizacje
  • wyłączyć automatyczne
  • Wyłącz Napęd indeksowania

stanowią one rozsądnie optymalne środowisko do testowania, to nadal Atta inable przez entuzjastów, a zatem może być reprezentatywna dla zaawansowanych użytkowników (nawet jeśli używam Automatyczne Aktualizacje i jechać indeksowanie, zaplanować je zarówno gdy jestem z dala/sypialnia)

Co do pamięci podręcznej i zwyczajów pamięci - w najmniej w Win7 Professional można skryptować zdalne uruchamianie - na przykład, chciałbym, aby skrypt uruchomił mój benchmark na noc (dla dużych testów regresji), restartując system operacyjny po każdym uruchomieniu. Lub uruchomiłbym ten sam test porównawczy 5-10 razy bez ponownego uruchamiania, aby sprawdzić, czy zmiany użycia pamięci podręcznej.

Są wreszcie przełączniki bootloadera sterujące liczbą procesorów i ilością dostępnej pamięci RAM - moją maszyną testową jest AMD Phenom X6 z 16 GB pamięci RAM, ale musimy sprawdzić, jak wydajność zmienia się wraz z liczbą rdzeni (niektórzy użytkownicy mieliby systemy jednordzeniowe, a niektórzy mieliby systemy wielordzeniowe) oraz ilość pamięci RAM (od 1 do 16 GB).

Zwykle robi się to przed wydaniem punktu kontrolnego, aby sprawdzić, czy zalecana lub minimalna rekomendacja wymaga dostosowania ze względu na dodatkowe funkcje i dodatkową optymalizację, która nastąpiła od tego czasu.