Ich betreibe einen Ubuntu Lucid-Gast in VMWare Player auf einem Windows XP-Computer mit einem freigegebenen Ordner. git status
ist langsam in der VM (24 Sekunden), aber schnell auf dem Host-Rechner (0,06 Sekunden) Irgendeine Idee warum?
Weitere Details:
du -hs .
im Gastbetriebssystem ausführen) git gc
wie hier beschrieben auszuführen, aber es machte keinen Unterschied: Zählen von Objekten: 3604, fertig.
Objekte komprimieren: 100% (1069/1069),
erledigt. Objekte schreiben: 100%
(3604/3604), fertig. Gesamt 3604 (Delta 2143), wiederverwendet 3604 (Delta 2143)
Entfernen von doppelten Objekten: 100%
(256/256), fertig.
PortableGit-1.7.2.3-preview20100911
nosmp noapic nolapic
behoben, wie beschrieben hier . Freigegebene Ordner haben einen beträchtlichen Overhead, da Sie die Host- Grenze für Gast & Gast wechseln. Ich bin nicht gut vertraut mit den Interna von Git, aber ich würde annehmen, dass es eine Menge von ziemlich kleinen Operationen macht, die einen relativ hohen Aufwand pro Operation mit sich bringen. Sie könnten versuchen, eine git repack
zu machen, um die Anzahl der einzelnen Objekte (Dateien) zu reduzieren, könnte ein wenig helfen.
Ist es zwingend erforderlich, dass Sie das Repository zwischen Gast und Host freigeben?
1 / Lesezugriff ist in der Regel langsamer über eine VM als ein natives Betriebssystem
2 / git status
ist langsam, wenn das Repo Submodule hat : hast du welche?
Mit Git1.7.2 + können Sie diese mit der Option --ignore-submodules