Ostatnio w ramach przyśpieszania mojego narzędzia do wyznaczania podobnych postów postanowiłem spróbować użyć tricku z używaniem klas konkretnych jako typu zmiennych zamiast interfejsów.. i niestety wydajność się polepszyła :-(
Nie jest tak zawsze, ale przy częstych odwołaniach do metod z obiektu zyskujemy te kilka procent.
Zastępując
List<Integer> list
przez ArrayList<Integer> list
zyskałem około 11% w prostym programie, który najpierw wiele razy [10000 razy] czyści listę i wypełnia ją kolejnymi numerami od 0 do 9999, a później sumuje losowo wybrane 10000 liczb z tej listy.W większości zastosowań to przyśpieszenie jednak jest bliskie błędu pomiaru, ma sens walka z tym dopiero w momencie gdy jakiś kawałek kodu stosuje już dobry algorytm, a mimo wszystko nadal przydałoby mu się te kilka procent.
Ogólnie jednak lepiej zawsze używać interfejsów, bo to po prostu wygodniejsze :-)
Gwoli informacji, obecnie czas wyznaczenia podobnych postów dla mojego bloga to około 125 sekund na Intel Core Duo T2600 2.16 GHz.
Podobne postybeta
Java na Raspberry Pi zaskakuje ;-)
Nie znoszę pisania na telefonie....
Oszczędzanie
GCJ mnie przerosło ;-)
Java 8 nadchodzi....
u mnie w szkole niema nauki na laptopach :((
OdpowiedzUsuń