Wpis z mikrobloga

@ZawzietyRobaczek: Szczerze, w trzeciej dekadzie XXI wieku takie rzeczy powinnien robić kompilator, a nie programista. Serio, gdybym był na Twoim miejscu to:
- porównałbym wygenerowany assembly, żeby sprawdzić czy Twoje zmiany w ogóle coś dały, czy to tylko sztuka dla sztuki
- Zamiast usuwać branche na ślepo, najpierw sprofilowałbym kod. Określił, które kawałki wykonują się nie tylko najdłużej, ale również najczęściej i skupił się na tych fragmentach
@ZawzietyRobaczek: ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°)

Na podstawie pierwszej wersji, kompilator łatwiej może określić to tak naprawdę chcesz zrobić, dlatego łatwiej może wygenerować bardziej optymalny kod. Jeśli już, to może pomyślałbym o wykorzystaniu czegoś w rodzaju makr likely / unlikely jeśli masz taką możliwość. Ale z mojego doświadczenia wynika, że bardzo rzadko to
@ZawzietyRobaczek: no nie wiem. Żeby wykonać drugą linijkę, procesor musi czekać na wykonanie pierwszej i przypisanie do zmiennej i dopiero wtedy może korzystać z tej zmiennej (data dependance). W przypadku if else może coś by spekulacyjnie zrobił?

Policz cykle ( ͡° ͜ʖ ͡°)