Frage

Nach meiner vorheriger Frage (Ich gehe davon aus, dass 64-Bit Compiler verwendet nur SSE-Befehle für Punkt Berechnungen floating):

  • Wie transzendente mathematische Funktionen (Sin, Atan, exp, log, etc.) sind in 64-Bit-Delphi-Compiler implementiert? AFAIK gibt es keine SSE Hardware-Implementierungen. Was Software-Bibliothek verwendet wird, was die Leistung und Genauigkeit im Vergleich zu dem Strom FPU Hardware-Implementierung ?

Siehe auch

War es hilfreich?

Lösung

Offensichtlich niemand außer für Embarcadero kann dies sicher beantworten, bevor das Produkt freigegeben wird.

Es ist sehr wahrscheinlich, dass jeder anständige x64-Compiler die SSE2-Befehlssatz als Grundlage verwenden und versuchen daher, so viel Gleitkomma-Berechnung zu tun SSE mit Funktionen wie möglich, die Verwendung der FPU x87 minimiert wird. Es sollte aber auch gesagt werden, dass es keinen technischen Grund ist, dass die Verwendung der x87-FPU in x64-Anwendungscode (trotz der Gerüchte im Gegenteil verhindern würde, die seit einiger Zeit schon haben, wenn Sie an diesem Punkt weitere Informationen wünschen, wenden Sie sich bitte haben einen Blick auf Agner Fog Aufrufkonvention Handbuch , insbesondere Kapitel 6.1 „Can Gleitkommaregister sein verwendet in 64-Bit-Windows? ").

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top