Vergleiche die Ausführungszeit von diesem Lua Script auf einem Macbook Air (Mac OS 10.9.4, i5-4250U (1.3GHz), 8GB RAM) zu einer VM (virtualbox), auf der Arch Linux läuft.
Zuerst habe ich lua selbst mit clang kompiliert, um es mit der Mac OS X-Clam-Binärdatei zu vergleichen.
Nun kompiliere lua mit dem gleichen clang Befehl / Optionen wie in der VM.
%Vor% Klangversion Mac OS XIch habe zwei Versionen ausprobiert. 3.4.2 und die, die von xcode zur Verfügung gestellt wird. Die Version 3.4.2 ist etwas langsamer.
%Vor%Ich hätte erwartet, dass das Host-System etwas schneller ist als die Virtualisierung (oder ungefähr die gleiche Geschwindigkeit). Aber nicht, dass das Hostsystem langsamer reproduzierbar ist.
Also, irgendwelche Ideen oder Erklärungen?
Inzwischen habe ich Arch Linux nativ auf meinem MBA installiert. Die Benchmarks sind so schnell wie in der Arch Linux VM.
Können Sie versuchen, "Perf stat" anstelle von "time" auszuführen? Es bietet Ihnen viel mehr Details und die Zeitmessung ist korrekter und vermeidet Timing-Unterschiede innerhalb der VM.
Hier ist ein Beispiel:
%Vor%Leistungsindikatoren für 'ls':
%Vor%Meine Vermutung ist, dass die HFS + Journalfunktion Latenz hinzufügt. Das wäre leicht genug zu testen: Wenn TimeMachine auf dem MacBook Air läuft, könnten Sie versuchen, es zu deaktivieren und Journaling auf dem Dateisystem deaktivieren (natürlich sollten Sie zuerst sichern). Als root:
%Vor%Ich würde sehen, ob das die Ursache des Problems ist. Dann würde ich das Journaling sofort wieder aktivieren.
%Vor%OS X 10.9.2 hatte einen Journaling-Bug, der das Dateisystem aufhängt ... diese Seite untersucht diesen Fehler weiter, und obwohl der Fehler (# 15821723) nicht als behoben gemeldet wurde, stürzt Journaling den Festplattencontroller nicht mehr ab.