Git Status langsam auf VMWare Gast, aber nicht Host

8

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:

  • Mein Repo beträgt ungefähr 620 MB (erhalten Sie, indem Sie du -hs . im Gastbetriebssystem ausführen)
  • Ich habe versucht, 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.

  • Mein Repo enthält viele CSV-Dateien sowie Code - ist das eine schlechte Idee?
  • Auf Windows-Host verwende ich PortableGit-1.7.2.3-preview20100911
  • Unter Ubuntu-Gast verwende ich die Git-Version 1.7.0.4, die von aptitude installiert wurde
  • Unter Ubuntu-Gast teile ich einen Ordner vom Windows-Host unter Verwendung der VMWare-Funktion für freigegebenen Ordner
  • Unter Windows-Gast habe ich keine andere Wahl, als Sophos laufen zu lassen, aber ich habe das "On-Access-Scanning" vorübergehend deaktiviert und es machte keinen Unterschied.
  • Ich hatte ursprünglich Probleme damit, dass die guest clock langsam lief, aber das wurde mit den grub-Optionen nosmp noapic nolapic behoben, wie beschrieben hier .
Pengin 05.10.2010, 08:00
quelle

2 Antworten

3

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?

    
snemarch 05.10.2010, 09:05
quelle
1

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 .

    
VonC 05.10.2010 08:10
quelle

Tags und Links