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! –
- 1. Największa podmatryca z równymi nr 1 i 0
- 2. Czy istnieje jakiś powód, aby ukrywać dziedziczone elementy w interfejsie?
- 3. Projekt nr Eulera 45
- 4. Czy istnieje jakiś powód, aby sprawdzić, czy właściwość jest ustawiona przed jej ustawieniem?
- 5. Czy można użyć SFINAE/szablonów, aby sprawdzić, czy operator istnieje?
- 6. serializacji XML, nr Whitespace
- 7. Dlaczego 0 i& 1 to 1, a 1 i& 0 to 0 w rubinach?
- 8. Zookeeper nie może otworzyć gniazda do localhost/0: 0: 0: 0: 0: 0: 0: 1: 2181
- 9. Użycie request.getRemoteAddr() zwraca 0: 0: 0: 0: 0: 0: 0: 1
- 10. Dlaczego to zwraca identyfikator zasobu nr 2?
- 11. element sekwencji aktualizacji słownika nr 0 ma długość 3; 2 wymagane jest
- 12. Czy istnieje odpowiednik Angular 2 dla "angular.element ($ 0) .scope()"
- 13. Każdy powód do użycia! 0 zamiast prawdziwego?
- 14. Formatuj dwukrotnie, aby pominąć niepotrzebne ".0" i nigdy nie zaokrąglaj.
- 15. Dlaczego 0 === -0 jest prawdziwe, ale 1/0 === 1/-0 jest fałszem?
- 16. Zmiana (0, 1) na (0, 1) bez rozgałęzienia
- 17. Dlaczego + i * oceniają odpowiednio 0 i 1?
- 18. Dlaczego muszę wpisać "\\\ 0", aby utworzyć ciąg "\ 0" w zsh?
- 19. Channel.Security.Error ... Błąd nr 2048
- 20. obiektów o nr Zachowanie
- 21. Czy istnieje jakiś sposób, aby umożliwić for (int i = 0;. ... w gcc bez konieczności włączania trybu c99
- 22. Dlaczego wyrażenie (0 == 0 & 1 == 1) jest oceniane jako Fałsz?
- 23. Sieć neuronowa 0 kontra -1
- 24. AngularJS: to 0 == 2?
- 25. Czy tabIndex: 0 w linkach jest uważany za dobrą praktykę, aby uniknąć href = "javascript: void (0);"?
- 26. Jak najlepiej ograniczyć wyniki String.compareTo() do -1, 0 i 1?
- 27. Czy istnieje jakiś powód, aby używać javac zamiast groovyc w projekcie mieszanego kodu?
- 28. Jakiś powód, aby użyć asercji podczas pracy zamiast asercji w czasie kompilacji?
- 29. Czy istnieje jakiś sposób, aby przesłać postęp poprawnie HttpUrlConncetion
- 30. Czy istnieje powód, aby usunąćEventListener DOMContentLoaded po rozpatrzeniu zdarzenia?
można utworzyć test wydajności :) –
Czy nr zawsze jest dodatni? – apandit
@apandit Może mieć dowolny znak. –