piątek, września 11, 2009

Nie taka klasa konkretna straszna....

Tak mi się z poprzednim postem skojarzyło.
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 ;-)
Java 8 nadchodzi....
GCJ mnie przerosło ;-)
Giń konstruktorze! Giń! ;-)
A może jutro?