Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Secondo me, in questo caso e' piu' veloce z = y << x/2, poiche' dato che effettui una divisione per una potenza di 2, il compilatore generera' una istruzione di shift a destra(molto veloce). Comunque ho ipotizzato che y non sia una potenza di 2.
Secondo me, in questo caso e' piu' veloce z = y << x/2, poiche' dato che effettui una divisione per una potenza di 2, il compilatore generera' una istruzione di shift a destra(molto veloce). Comunque ho ipotizzato che y non sia una potenza di 2.
So anche io che uno shift è più veloce di una moltiplicazione, ma la mia domanda era il confronto tra if + shift e moltiplicazione
Gli if in genere giocano male con la pipeline. In ogni caso, penso che per questa cosa la differenza di prestazioni non sia rilevabile, e quindi convenga usare x*y che è molto più chiaro.