@dziki: Niby czemu powoduje raka? Ten trik eliminuje brancha, więc w pewnych warunkach ma zajebisty sens. Mógłbym się założyć, że ten slajd był omawiany na wykładzie, jak to działa, kiedy stosować itp., ale pewnie nikomu nie chcialo się iść... A potem trzeba z takimi "geniuszami" pracować, co swoją wiedzę czerpią ze slajdów (╥﹏╥)
@Porana123: No a o czym ja pisałem? Jakieś dziwne problemy z czytaniem czy jak? Odpisujesz do mnie jakiejś bzdury i jeszcze za każdym razem kończąc je XDDDDDDD....
@GotoFinal: To ty raz wyskakujesz ze stosem nie wiadomo skąd, a potem piszesz '2+3 to nie będzie się równało 4' (no way!), myślałem, że mówisz o tym przypadku z modyfikacją aka castem na short bo wtedy to może nie być oczywiste.
@Porana123: no bo te zmienne są przechowywane na czymś co zazwyczaj w polskich źródłach nazywane jest stosem, nie wiem co ci tu nie pasuje? ale jak zmienimy wszystko na np "short" [...] java wywali błąd kompilacji pisząc że a + b zwraca int a nie short. przeczytałeś jako modyfikację i castowanie, brawo.. po prostu brawo... nie wiem nawet co napisać, nic tylko gratulować. Nie wiem co trzeba zrobić by zrozumieć
@GotoFinal: Co ty się tak bulwersujesz wtf :D Napisałeś 'zmienimy wszystko', ale już a+b po prawej stronie nie zmieniamy (castem), tylko o to mi chodzi, jezu. Odebrałem to tak że twoje 'wszystko' zawiera też w sobie a+b.
@rsxee: Te różnice są bardzo małe. http://pastebin.com/ivRPePLh - bez exception, średnio 3319.4 http://pastebin.com/ZkUvx9kM - z exception, średnio 3248.1 A to tylko 10 testów, więc może być dość niedokładne, testowałem jeszcze kika razy, i różnice nigdy nie przekroczyły 100, a i często malały do 30-20.
+ wychodzi na to że ma to jakikolwiek sens tylko jeśli zmieniamy licznik w trakcie pętli, a pętla
Ostrzegam, "trik" z iteracją po tablicy powoduje raka.
#programowanie #java i chyba trochę #humorinformatykow
źródło: comment_Yro7NsFCWC0mPtHn7g7FvJIMRL68H4k0.jpg
Pobierzhttp://ideone.com/jybUoR
Nah...
Tu masz nawet przykład, że taki trik się stosuje: https://www.reddit.com/r/programming/comments/3c71qc/fast_as_c_how_to_write_really_terrible_java/csszw86
Odpisujesz do mnie jakiejś bzdury i jeszcze za każdym razem kończąc je XDDDDDDD....
http://pastebin.com/P7W2Rppq
Ten kod: średnio po 750000 - 800000
Normlany kod z for-each lub indexami: 560000 - 590000
Czyli jest wolniej... za duże różnice by to uznać za
ale jak zmienimy wszystko na np "short" [...] java wywali błąd kompilacji pisząc że a + b zwraca int a nie short.
przeczytałeś jako modyfikację i castowanie, brawo.. po prostu brawo... nie wiem nawet co napisać, nic tylko gratulować. Nie wiem co trzeba zrobić by zrozumiećDla porównania wziąłem sobie kod z: https://github.com/kostya/benchmarks/blob/master/brainfuck/brainfuck.java
Przerobiłem pętle w funkcji run, żeby korzystała z tego triku i wychodzi, że jest minimalnie
http://pastebin.com/ivRPePLh - bez exception, średnio 3319.4
http://pastebin.com/ZkUvx9kM - z exception, średnio 3248.1
A to tylko 10 testów, więc może być dość niedokładne, testowałem jeszcze kika razy, i różnice nigdy nie przekroczyły 100, a i często malały do 30-20.
+ wychodzi na to że ma to jakikolwiek sens tylko jeśli zmieniamy licznik w trakcie pętli, a pętla