Warunku wydajnego korzystania z pamięci:
Proces korzysta z danych lub instrukcji z których korzystał w najbliższej przeszłości (np. pętle, stosy, lokalne zmienne)
Proces odnosi się kolejno do najbliższych sąsiadów w przestrzeni adresów
Najbardziej prawdopodobne w kolejnym kroku czasowym są następujące po sobie odniesienia
Analizie muszą podlegać zarówno sprzętowe jak i programowe składowe systemu.
Testy mogą być wykonywane w sposób: statyczny: odbywa się na etapie tworzenia programu (przed jego uruchomieniem). Sprawdza poprawność kodu pod kątem statycznym i semantycznym. dynamiczny: odbywa się po stworzeniu programu i jego uruchomieniu
kod sekwencyjny + dużo procesów = przyspieszenie
kod sekwencyjny + nie tak dużo wydajnych procesów = przyspieszenie (to dlatego z reguły komputery mają do 4 procesorów.
Z dwóch komputerów równoległych o tym samym zsumowanym wskaźniku wydajności CPU lepszą wydajność dla aplikacji z dominującymi operacjami wejścia/wyjścia będzie miał ten, który posiada wolniejsze procesory.
A w praktyce:
Jeśli pętla obliczeniowa trwa minuty, a dane mogą zostać przesłane w ciągu sekund,
to prawdopodobnie jest to dobry kandydat na program równoległy.