Aktywne Wpisy

good_excuse +8
jo dupia, faceci mówią, że wszystkie kobiety są takie same, a oni #!$%@?ą te teksty chyba z generatorów albo mają jakiś hive mind XD
znajomość ~2 tygodnie xD
znajomość ~2 tygodnie xD

Wookash071 +19
Za parę dni stuknie mi 27 lat. Dzisiaj miałem być na zajebistym koncercie żeby pobawić się z okazji moich prawie urodzin. Od połowy grudnia chodziłem za moim mistrzem zmiany pytając się i mówiąc że chce mieć tego dnia urlop. Cały czas słyszałem, że będzie wolne Tylko żebym się upomniał. No to upomnałem się jeszcze kilka razy przez kolejne dni i jak za każdym razem słyszałem, że będzie wolne to zakupiłem sobie bilet





Mam do wykonania pewien projekt i muszę użyć w nim bottom-up merge sorta.
Kiedy już wszystko napisałem, okazało się, że dzieję się coś dziwnego.
Kod obrazujący problem:
http://wklej.org/id/2252010/
Output:
http://wklej.org/id/2248991/
http://wklej.org/id/2252048/
I tutaj moje pytanie - dlaczego pierwsze sortowania wykonują się dłużej niż pozostałe?
Czasami jest to tylko pierwsze, czasami kilka, a czasami tak jak w wynikach podanych powyżej, ale zawsze, przynajmniej to pierwsze sortowanie zajmie więcej czasu. Wiem, że tablica może przypadkowo zostać wypełniona tak, że merge sort wolniej ją posortuje, ale tak się dzieje za każdym razem ( ͡° ʖ̯ ͡°)
for (left_start=0; left_start<n-1; left_start += 2*curr_size)zamiastfor (int i = 0; i < N-n; i += n+n). Dodatkowo możesz wprowadzić CUTOFF czyli sortować małe tablice wydajniejszym algorytme np. insertion sort.edit: dzięki za opis
for (left_start=0; left_start<n-curr_size; left_start += 2*curr_size)edit: output po edycji: http://wklej.org/id/2252970/
output po edycji: http://wklej.org/id/2253291/
tl;dr czas wykonywania spadł o ~1000µs, ale pierwsze sortowania nadal wykonują się dłużej od reszty
W outputach, które załączałem czas stabilizuje się po kilkunastu iteracjach. Czasami następuje to szybciej, ale jak pisałem, zawsze przynajmniej pierwszy wynik jest znacznie wyższy od pozostałych.
Też laptop, z niskonapięciowym prockiem na dodatek ( ͡° ʖ̯ ͡°)
I wygląda na to, że jest tak jak piszesz, nic innego nie przychodzi mi do głowy. Na stacku też cisza, ktoś wspomniał o https://en.wikipedia.org/wiki/Branch_predictor ale nie wiem jak to ma się do mojego problemu.
Dzięki za pomoc w każdym razie mirku ( ͡º ͜ʖ͡º)