Frage

Ich habe gerade gehört, dass das iPhone nicht doppelt so nativ tun kann sie viel langsamer, dass regelmäßigen Schwimmer zu machen.

Ist das wahr? Beweise?

Ich interessiere mich sehr für das Thema, weil mein Programm hohe Präzision Berechnungen braucht, und ich werde auf Geschwindigkeit Kompromisse eingehen müssen.

War es hilfreich?

Lösung

Das iPhone kann sowohl einfacher und doppelter Genauigkeit Arithmetik in Hardware tun. Auf dem 1176 (original iPhone und iPhone3G) arbeiten sie bei etwa der gleichen Geschwindigkeit, wenn Sie mehr einfachgenaue Daten in dem Cache-Speicher passen. Auf dem Cortex-A8 (iPhone3GS, iPhone4 und iPad), wird mit einfacher Genauigkeit Arithmetik auf der NEON-Einheit statt VFP getan, und ist wesentlich schneller.

Stellen Sie sicher, Daumen-Modus in Ihrer Kompilierung Einstellungen für ARMv6 deaktivieren, wenn Sie intensiv tun Fließkommaberechnung.

Andere Tipps

Diese Dia-Show gibt einen Einblick in warum es nicht gut Gleitkomma- und warum es (der Vektor Gleitkommaeinheit). Offenbar ist es wichtig, dass Sie den „Daumen-Modus“ überprüfen, die beeinflussen, ob oder nicht Punkt-Auflage schwimmt auf ist. Dies ist nicht immer eine Verbesserung. Es zeigt, wie die richtigen Anweisungen im Assembler-Code zu finden.

Es hängt auch von welche Version des Telefons Sie Ihren Code ausführen möchten. Die jüngsten scheint „mehr in der Lage“ dabei Gleitkommamathematik.

EDIT:. Hier ist eine interessante Lektüre auf Punkt Optimierungen auf der ARM mit VFP und NEON SSE Floating

Das ARM1176JZF-S Handbuch sagt, dass es mit doppelter Genauigkeit Gleitkommazahlen unterstützt. Sie sollten in guter Form sein. Hier ist ein Link auf die PDF-Dokumentation. Später iPhones sind Cortex-Chips, und sollte auf jeden Fall nicht weniger fähig ist.

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