Aktywne Wpisy

CzekoDonut +156
Mam nadzieje, że o tej godzinie jest mało osób (OBY!...), bo w formie wyjścia ze strefy komfortu i wyjścia do ludzi publicznie oferuje 500 zł przelane BLIKiem a losowanie dnia 10 maja (ʘ‿ʘ)
Wystarczy dać plusa, jakikolwiek komentarz i zaobserwować mój profil ( specjalnie by było jak najmniej osób xD )
#rozdajo #zadarmo
Wystarczy dać plusa, jakikolwiek komentarz i zaobserwować mój profil ( specjalnie by było jak najmniej osób xD )
#rozdajo #zadarmo
źródło: 5993c2a458fd48d10808504886f227ca
Pobierz
Mexiii +334
Jeśli wiesz co to za logo, to znaczy że kolonoskopia już blisko ( ͡° ͜ʖ ͡°)
#glupiewykopowezabawy #heheszki #cotozalogo #gimbynieznajo
#glupiewykopowezabawy #heheszki #cotozalogo #gimbynieznajo
źródło: image_picker_021D4B63-9072-413A-B882-5B148E073CE9-92950-0000075E5551383F
Pobierz




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 ( ͡º ͜ʖ͡º)