Witam...
Mam pewien problem z optymalizacją szybkości mojego kodu...
Mianowicie...
Mam klasę która mniej więcej wygląda tak:
class Spline {
Spline(int step ArrayList<Integer> x , ArrayList<Short> y ){
}
}
z tej klasy pobieram jedną wartość
od razu powwiem że klasa ma za zadanie obliczyć funkcję sklejaną pomiędzy dwomapunktami (x,y) pobranymi z ArrayList (odpowiednio x,y).
Arraylisty to zbiory punktów. Tych punktów jest około 500 i dla każdych sąsiadujących punktów jest wyznaczana nowa funkcja z klasy spline czyli :
dla pkt1(x1,y1) i pkt2(x2,y2) wyznaczamy funkcję (która dla parametru step znajdującego się pomiędzy x1 a x2 wyznaczy odpowiednią wartość y) dla pkt2(x2,y2) i pkt3(x3,y3) nową funkcję itd.
Czyli bardzo dużo razy używam klasy Spline.
Klasy tej używam w metodzie która znajduje się w klasie głównej mojego programu.
Gdy uruchamiam program - wykonuje się on baaardzo wolno...Gdy odpalam profile'a dla CPU to mi wyrzuca że właśnie tam metoda w której użyłem klasy Spline zajmuje najwięcej czasu.
Może wie ktoś jak usprawnić ten kod...
Może wtwalić tą klasę a zrobić z niej normalną metodę...
i jeszcze jedno--- metoda w której użyłem klasy Spline jest używana wielokrotnie
gdyby ktoś miał pomysł...byłbym wdzięczny Razz)
pozdr.