Ein seit langem unter Programmierern verbreiteter Glaube ist, dass Ganzzahlberechnungen schneller sind von Natur aus schneller als Gleitkommaberechnungen. Diese Annahme gilt jedoch möglicherweise nicht mehr für moderne Multi-Core-Prozessoren.
Um die relative Geschwindigkeit von Ganzzahl- und Gleitkommaberechnungen auf verschiedenen CPU-Architekturen zu beurteilen, gehen wir näher darauf ein in einige Daten:
64-Bit Intel Xeon X5550 bei 2,67 GHz, gcc 4.1.2 -O3:
short add/sub: 1.005460 [0] short mul/div: 3.926543 [0] long add/sub: 0.000000 [0] long mul/div: 7.378581 [0] long long add/sub: 0.000000 [0] long long mul/div: 7.378593 [0] float add/sub: 0.993583 [0] float mul/div: 1.821565 [0] double add/sub: 0.993884 [0] double mul/div: 1.988664 [0]
32-Bit-Dual-Core-AMD-Opteron(tm)-Prozessor 265 bei 1,81 GHz, gcc 3.4.6 -O3:
short add/sub: 0.553863 [0] short mul/div: 12.509163 [0] long add/sub: 0.556912 [0] long mul/div: 12.748019 [0] long long add/sub: 5.298999 [0] long long mul/div: 20.461186 [0] float add/sub: 2.688253 [0] float mul/div: 4.683886 [0] double add/sub: 2.700834 [0] double mul/div: 4.646755 [0]
Diese Ergebnisse zeigen, dass auf diesen Architekturen der Leistungsunterschied zwischen Ganzzahl- und Gleitkommaoperationen relativ gering ist. In einigen Fällen können Gleitkommaberechnungen sogar schneller sein als Ganzzahloperationen, insbesondere bei längeren Datentypen wie „long long“.
Mehrere Faktoren beeinflussen die Leistung von Gleitkommaberechnungen und Ganzzahlberechnungen:
Um die Leistung von Gleitkomma- und Ganzzahlberechnungen auf einer bestimmten Zielhardware genau zu testen , verwenden Sie die folgenden Schritte:
Während Ganzzahlberechnungen früher deutlich schneller waren als Gleitkommaberechnungen, hat sich diese Lücke auf moderner Hardware deutlich geschlossen. Superskalare Architektur, dedizierte FPUs und effiziente Gleitkomma-Bibliotheken haben dazu geführt, dass Gleitkomma-Operationen in ihrer Geschwindigkeit mit ganzzahligen Operationen vergleichbar sind. Daher ist es wichtig, die spezifische Hardware und Arbeitslast zu bewerten, bevor man davon ausgeht, dass Ganzzahlberechnungen von Natur aus schneller sind.
Das obige ist der detaillierte Inhalt vonSind Ganzzahlberechnungen auf moderner Hardware immer noch schneller als Gleitkommaberechnungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!