Ezt ismerem, kb. ott bukik meg, hogy a Java kód akkor tudja kihasználni a -server kapcsolót, ha mondjuk legalább 10-szer lefuttatod a teljes tesztet, és mondjuk átlagolod a futásokat. Az első futásra ugyanis még nem gerjed be az optimalizáló fordító, legfeljebb interpretált módban fut. Ezt jól be is szívtam egyszer, amikor vagy 10-szeres lassulást mértem a Java-n a C++-hoz képest. Aztán kiderült, hogy a fenti módszerrel alig 10-20%...
Arról nem is beszélve, hogy ezek a tesztek a JVM startup time-ot is beleszámolják a futási időbe. Szóval megbízható :)