Załóżmy, że chcę napisać program cechujący się złożonościa operacji matematycznych. Do takich zadań należą między innymi łamanie szyfrów, emulacja komputerów i skomplikowanych urządzeń elektronicznych, skomplikowane przetwarzanie audio i video.
Popularnym testem wydajności w systemie Windows jest uruchomienie kalkulatora i obliczanie silni z dużej liczby i mierzenie czasu wykonywania ten operacji.
Duże aplikacje (jak np. wyszukiwarka Google) działają na naprawde porządnych komputerach kosztujących majątek. Dowodem na to jest fakt, że przeszukanie i przejrzenie miliardów plików trwa zaledwie ułamek sekundy, na zwykłym kompie z najlepszymi nośnikami SSD będącymi macierzami RAID-0 trwałoby to znacznie, ale to znacznie dłużej.
A więc jak napiszę program w C# lub w Javie, taki test, że jest przycisk "Start" i jak się to kliknie, to program wykonuje różne operacje matematyczne i na plikach, które trwają powiedzmy 2 godziny i wyświetla dokładny czas wykonywania operacji.
A jakbym identyczny program napisał w PHP, ASP, ASP.NET, CGI lub w jeszcze innej technologii, ale z zakresu tylko takich, które polegają na wykonywaniu programu na serwerze i przeprowadził test, to jaki byłby wynik? Czy podobny, czy znacznie różniący sie i na korzyść której wersji programu-testera?
Dużo ambitniejszą wersją testu byłoby opracowanie emulatora lub wykorzystanie gotowego emulatora. Istotne jest to, żeby emulator działał tak, że procesor ma być jak najszybszy. Z tego względu do tego nie nadają się emulatory Atari i Commodore (te maszyny miały konkretny procesor i emulator musi trzymać się tej szybkości), a emulatory PC i Mac nadawałyby się doskonale.
Dwoma z takich emulatorów PC są Bochs i QEmu. Oba są wieloplatformowe i z otwartym kodem źródłowym. Nie ulega wątpliwości, że taki emulator dziala wielokrotnie wolniej, niz prawdziwy komputer, a z drugiej strony, tego typu emulatory nie stosują sztywno okreslonej prędkości procesora. Gdyby napisać identyczny emulator (jedyna różnica, to użyty język, sama budowa programu, klasy, metody, zmienne, stałe byłyby identyczne) w PHP lub ASP.NET, uruchomić go na wynajmowanym serwerze oferowanym, jako super szybki i wydajny (najlepiej serwer tej klasy, jaki mają największe portale internetowe, a Google, to już byłoby najlepiej) i porównać wydajność pierwowzoru i odpowiednika internetowego, to czy różnica byłaby znaczna? Na korzyść której wersji programu?