Wszystkie informacje, które można znaleźć w dokumentacji i Internecie dla opcji -ffinite-math-only to "Zezwalaj na optymalizacje dla arytmetyki zmiennoprzecinkowej, które zakładają, że argumenty i wyniki nie są NaN lub + -Infs." Nie wydaje mi się, żeby to było. Czy ktokolwiek wie dokładnie, jakie są optymalizacje? DziękiJakie są optymalizacje ułatwione dzięki -ffinite-math-only?
5
A
Odpowiedz
8
Wiele małych rzeczy mogą być zoptymalizowane pod tym założeniem, jak:
x == x
->1
x * 1
->x
x >= y
->!(x < y)
i podobne.x/x
->1
, jeśli kompilator może udowodnić, że jest tox != 0
.- może umożliwić kompilatorowi użycie instrukcji sprzętowych max/min dla wyrażeń takich jak
x > y ? x : y
. - ... dużo więcej
często zobaczyć to założenie wraz z założeniami jak „znak od zera nie ma znaczenia”, które następnie umożliwia rzeczy jak:
x - x
->0
0/x
->0
x * 0
->0
Powiązane problemy
- 1. Jakie optymalizacje są uwzględnione w optymalizacjach -funsafe-matematycznych?
- 2. Optymalizacje jQuery
- 3. Optymalizacje CALayer?
- 4. Optymalizacje kompilatora Erlang
- 5. Jakie informacje gromadzi optymalizacja profilowana GCC (PGO) i jakie optymalizacje z niej korzystają?
- 6. Jeśli włączone są optymalizacje, JIT zawsze będzie wstawiać tę metodę?
- 7. .NET Compiler - Czy wbudowane są zagnieżdżone optymalizacje pętli?
- 8. Jakie są rzeczywiste zalety wzoru gościa? Jakie są alternatywy?
- 9. Jakie są domyślne repozytoria?
- 10. Jakie są zalety VistaDB
- 11. Jakie są zalety NSBinaryStoreType?
- 12. Jakie są alternatywy ClickOnce?
- 13. Jakie są chińskie kodowanie?
- 14. Jakie są zalety coroutines?
- 15. Jakie są poziomy DOM?
- 16. Jakie są zalety JRebel?
- 17. Optymalizacje dla końcowego słowa kluczowego
- 18. Jakie są oznaki inicjowania przecinków?
- 19. Jakie są sekundy w regionie?
- 20. Czy operacje numeryczne są szybsze dzięki funkcjom NumPy niż operatorom?
- 21. Czy wskaźniki blokują optymalizacje kompilatora?
- 22. Jakie są przykłady użycia Nokogiri?
- 23. Jakie operacje są operacje atomowe
- 24. Jakie są zalety różnych endiannesses?
- 25. Jakie są strategie scalania git?
- 26. Jakie są korzyści z curry?
- 27. Jakie są obsługiwane zdarzenia Ember.js?
- 28. Jakie są różne rodzaje spraw?
- 29. Jakie są typowe zastosowania UDP?
- 30. Jakie są najważniejsze biblioteki Java?
Być może 'x == x' zostanie zoptymalizowane na true. – Mysticial
http://gcc.gnu.org/wiki/FloatingPointMath – janneb