Czy są jakieś rzeczywiste różnice w wydajności? Czy to jest szybsze? (powiedzmy, że używam go w co najmniej 100 przypadkach w tym samym programie, czy poprawiłoby to mój program pod względem szybkości?)Czy istnieje jakiś powód, aby użyć (nr i 1 == 0) powyżej (nr% 2 == 0), aby sprawdzić parzystość?
Odpowiedz
To pytanie może być bardziej odpowiednie na temat Software Engineering Stack Exchange.
Jeśli używasz szanse optymalizacji kompilatora są wszelkie formy n % <power of two>
dostanie zoptymalizowany do n & <power of two minus one>
tak, ponieważ są one równoważne ale na prawie każdej architektury mogę myśleć o ostatni jest znacznie bardziej wydajne.
Dawna forma wyraża intencję jaśniej, chociaż dużo deweloperów rozpozna n & 1
jako „szybszego wersja” n % 2
.
Nie wiedziałem o "Software Engineering Stack Exchange", przepraszam za możliwość zamieszczenia w niewłaściwym miejscu i dziękuję za answear! –
można utworzyć test wydajności :) –
Czy nr zawsze jest dodatni? – apandit
@apandit Może mieć dowolny znak. –