Gibt es einen Teil von OSX, der durch Intel AES-Anweisungen einen erheblichen Geschwindigkeitsschub erhält?

Ich habe einige Spezifikationen zwischen Mac Pro-Modellen verglichen, insbesondere mit dem Sprung von Harpertown (alias Core 2) zu Gulftown/Westmere (alias Core i7).

Während inkrementelle Leistungssteigerungen auf ganzer Linie erwartet wurden, war der bedeutendste Benchmark-Sprung für den AES-Befehlssatz , der in der späteren Generation eingeführt wurde; in der Größenordnung von 24x schneller. Ich habe genug davon verstanden, um zu verstehen, dass es zur Verschlüsselung verwendet wird und dass Dinge wie BitLocker und SSH Verbesserungen erfahren würden, aber es fühlt sich fast so an, als würden diese im typischen Gebrauch unbemerkt bleiben.

Meine Frage ist, gibt es einen Teil von OSX, der von AES profitiert, was zu spürbaren Leistungsverbesserungen führt? Vielleicht würden zumindest HTTPS-Verbindungen in einem Webbrowser eine Verbesserung erfahren? Ich weiß, es ist ein bisschen langwierig, aber die Frage lohnt sich :-)

Das ist eine großartige Frage.
FileVault könnte einen Schub bekommen.

Antworten (1)

Also ... Ein bisschen Stöbern führte mich zu einer einfachen Schlussfolgerung: Es ist unwahrscheinlich, dass Apple Ihnen sagen wird, wo sie AES-NI-Anweisungen in Mac OS oder dem Rest ihrer Software verwenden, aber sie sind definitiv vorhanden und verfügbar.

Zunächst spricht Intel ein wenig über AES-NI und wo es verwendet wird. Einige der Kommentare sprechen über das Vorhandensein oder Fehlen davon in den Kommentaren. Da ich Homebrew und Wine auf meinem Mac installiert habe, habe ich die interessanten Anweisungen hier befolgt , um zu testen, ob die openssl-Abhängigkeit von Wine AES verwenden kann:

$ openssl speed aes-256-c
...
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-256 cbc      69308.49k    74198.23k    75165.95k    74875.63k    76098.51k

$ openssl speed -evp aes-256-cbc
...
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-256-cbc     421057.71k   432531.16k   447445.08k   450021.03k   444866.56k

Diese Zahlen stimmen weitgehend mit dem Zitat von Cyberciti über die 6-fache Leistungssteigerung mit AES-NI überein.

Schließlich haben wir einige tatsächliche Beweise in der SE-Community selbst: https://stackoverflow.com/questions/12634305/ .

Anscheinend hat Apple früher eine API für Mac OS bereitgestellt, die keine direkte Verwendung von AES-NI-Anweisungen zuließ. Die Problemumgehung bestand früher darin, den Compiler von Intel zu verwenden oder gcc aus dem Quellcode zu erstellen. Es scheint, dass dies seit 4.6.3 nicht mehr der Fall ist, und Entwickler können AES-NI verwenden, wenn sie dies wünschen. Die Leistungsverbesserungen sind dann eine Funktion der Entwickler, nicht des Betriebssystems.