sens
g/Komputer

całą noc próbowałem zoptymalizować renderowanie zbioru mandelbrota

zacząłem od sneka ale snek jest wolny, więc pomyślałem, że zobie uruchomię na kilku rdzeniach, ale multiprocessing w pajtongu to gówno, a wątki są ograniczone do jednego rdzenia :---DDD

potem pomyślałem, że w sumie czemu nie napisać liczenia tego w C, a w pajtongu tylko wyświetlać te zbiory

właściwie większość czasu spędziłem na uczeniu się o shared memory i systemowych limitach z SM związanych, ale w końcu udało mi się to połączyć i rzeczywiście jest duużo szybciej niż w samym pajtognigu

teraz tylko pozostało przepisać kod C na wielowątkowy, spędzić kolejnych kilka godzin na debugowaniu pamięci i pozamiatane, ale chyba już mi się nie chce xD

#
sens

@sens: https://i.imgur.com/IxC181H.png

#
sens

@sens: jednak przepisałem na wątki ale chyba za wiele to nie pomoglo. Mógłbym to na gpu napisać ale mój makbuk ma tylko integre :/

#
sens

@sens: kwadracik 400x400 renderuje się tak koło pół sekundy. Im więcej kroków przy sprawdzaniu zbieżności tego ciągu tym gorzej oczywiście, ale tak do stu kroków jest jeszcze w miarę ok. Jeszcze coś pokminie. Zamieniłem |z_n| >= 2 na |z_n|^2 >= 4 żeby pozbyć się pierwiastkowania.

#
sens

@sens: ok teraz to przedsięwzięcie rozgałęzilo się do stworzenia programu wizualizującego układ struktury w pamięci xd bo coś zjebalem i zle mi się upakowala a rzutuję część tej shared memory na struktury i trochę słabo jak zmieniam pole w strukturze a w pamięci nie odpowiada to dobrej pozycji bo są jakieś zjebane paddingi xDDDDD

#