Wpis z mikrobloga

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 - Help, napisałem program sprawdzający czasy wykonania dla różnych algorytmów...

źródło: comment_Z2uFABn6VxDJoWYFboHQUlGzNbiWMPdZ.jpg

Pobierz
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@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.
  • Odpowiedz
@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
  • Odpowiedz
@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.
  • Odpowiedz
dobra temat do zamknięcia ( ͡° ͜ʖ ͡°) przechodzę na niższe wartości i ten jeden test na warm up'a nie będzie mi robił różnicy
  • Odpowiedz