Help, napisałem program sprawdzający czasy wykonania dla różnych algorytmów sortowania(mam menu wyboru jaki typ sortowania wybrać itp itd zapętlone aby więcej wyników dostać za jednym uruchomieniem), i zawsze pierwszy wynik wywołania danego algorytmu i muszę wszystko 2-krotnie odpalać aby dostać prawidłowe wyniki. Jakiś pomysł co może powodować taki 'bug' ? Każdy kolejny wynik to mierzony czas na coraz większych tablicach. // na początku jeszcze jest wybór sortowania 2-merge sort #java #programowanie
@jwojtas: Przy takich testach w przypadku javy ważny jest tzw. warm up time. Java ma to do siebie, że analizuje kod, który uruchamia i w trakcie jego działania może go kompilować do kodu maszynowego (tzw. JustInTime compiler). Tak skompilowany kod wykonuje się szybciej niż bytecode w JVM.
@kamil062: na studia, porównanie insert, select, heap, merge w zależności od rodzaju tablic: stała, malejąca, rosnąca, v-kształtna, losowa. 15 punktów pomiarowych dla różnych wielkości tablic
@jwojtas: I tak ci to mierzyć kazali? Bo za żadne skarby algorytmów nie porównuje się licząc czas ich wykonania bo komputer generuje narzut zaburzający pomiar i wyniki są niedokładne.
Każdy kolejny wynik to mierzony czas na coraz większych tablicach.
// na początku jeszcze jest wybór sortowania 2-merge sort
#java #programowanie
źródło: comment_Z2uFABn6VxDJoWYFboHQUlGzNbiWMPdZ.jpg
Pobierz