Se si dovesse implementare un compilatore, cosa faresti? Effettivamente, sceglieresti l'implementazione più veloce per entrambi. Poiché entrambi sono uguali, questa implementazione più veloce è la stessa per entrambi.
In altre parole, qualsiasi compilatore rilasciato dopo 5000 B.C. genererà lo stesso codice assembly per entrambi x = 0
e x ^= x
se si abilitano le ottimizzazioni. Ciò significa che sono ugualmente veloci.
Questo non va solo per assegnazione/xorring, ma anche per multiplication, tra gli altri algoritmi. Esprimi il tuo intento e lascia che il compilatore lo ottimizzi. Il compilatore è più ottimizzato di te, fidati di me.
In altre parole, scrivere codice leggibile e utilizzare x = 0;
.
Oh, e dal modo in cui, bit a bit xorring un intero non inizializzato per sé è un comportamento indefinito e un buon compilatore dovrebbe ottimizzare l'intera cosa.
fonte
2013-04-04 16:42:38
O. Ma uno è più leggibile. –
Scegli quello più carino. – Mysticial
Scegli il più carino e lascia che il compilatore lo ottimizzi per te. – StoryTeller