Frage

Ich habe eine ziemlich große PHP-Codebasis (10k-Dateien), die ich bei der Verwendung von Eclipse 3.4 / PDT 2 auf einem Windows-Rechner arbeite, während die Dateien auf einem Debian Datei-Server gehostet werden. Ich verbinde über ein zugeordnetes Laufwerk unter Windows.

Trotz eine 1-Gbit-Ethernet-Verbindung mit, ein Eclipse-Projekt Refresh tun ist ziemlich langsam. Bis zu 5 Minuten. Und ich bin blockiert von der Arbeit, während dies geschieht.

Dies würde normalerweise nicht so ein Problem sein, da Eclipse-sollte theoretisch nicht eine vollständige Aktualisierung sehr oft zu tun hat. Allerdings benutze ich das subclipse Plugin auch, die eine vollständige Aktualisierung löst jedes Mal, wenn ein Schalter / Aktualisierung abgeschlossen ist.

Meine Vermutung ist, dass der langsamste Teil des Prozesses Eclipse ist die 10k Dateien nacheinander für Änderungen über Samba zu überprüfen.

Es gibt eine große Anzahl von Dateien in der Code-Basis, die ich würde nie von Eclipse zugreifen muß, so ich brauche es nicht, sie überhaupt zu überprüfen. Allerdings kann ich nicht herausfinden, wie es zu verhindern, dass dies zu tun. Ich habe versucht, sie Kennzeichnung ‚abgeleitet‘. Dies verhindert, dass sie in der Build-Prozess usw. enthalten sein, aber es scheint nicht überhaupt den Aktualisierungsprozess zu beschleunigen. Es scheint, dass Eclipse-noch ihren Status geändert prüft.

Ich habe entfernt auch die nicht benötigten Ordner aus PDT ‚baut Pfad‘. Dies beschleunigt den Prozess ‚Gebäude Arbeitsplatz‘, aber wieder ist es nicht die tatsächliche refresh beschleunigen, das Gebäudes vorangeht (und das ist es, was die meisten Zeit in Anspruch nimmt).

War es hilfreich?

Lösung

Danke allen für Ihre Anregungen. Im Grunde war JW auf dem richtigen Weg. Die Arbeiten vor Ort.

Zu diesem Zweck entdeckte ich ein Plugin namens FileSync: http://andrei.gmxhome.de/filesync/

Diese kopiert automatisch die geänderten Dateien auf dem Netzwerkfreigabe. Funktioniert fantastisch. Ich kann jetzt tun, um eine vollständige Aktualisierung / Switch / aktualisieren aus Eclipse in ein paar Sekunden.

Andere Tipps

Haben Sie auf einer Freigabe, die Dateien zu speichern? Vielleicht können Sie eine Art automatische Spiegelung einrichten, so dass Sie arbeiten mit den Dateien lokal, und sie werden automatisch auf die Freigabe kopiert. Ich bin in einer ähnlichen Situation, und ich würde die Geschwindigkeit der Bearbeitung von Dateien auf meinem eigenen Rechner aufgeben hasse.

Da es subversioned, warum nicht die Dateien lokal hat, und verwenden Sie einen Post Haken verpflichten auf die neueste Version auf dem Dev-Server nach jedem Commit zu aktualisieren? (Oder haben eine bestimmte Zeichenfolge in der Commit-Protokoll (zB ‚## DEPLOY ##‘), wenn Sie dev aktualisieren möchten, und nur das Update ausgeführt werden, wenn die Post commit diese Zeichenfolge sieht).

Neben den Refresh-Geschwindigkeit-ups, der Vorteil dieser Technik ist, dass Sie gebrochene Dateien haben, die Sie in Eclipse arbeiten, und der Entwickler-Server ist immer noch in Ordnung (wenn auch mit einer älteren Version des Codes).

Der Nachteil ist, dass Sie zu tun haben, eine Festschreibung Ihre gespeicherten Dateien auf den Dev-Server drücken.

Funktion verwenden Offline-Ordner in Windows mit der rechten Maustaste und wählen Sie "Offline bereitstellen".

Es könnte viel Zeit und Umlaufverzögerung in dem File-Sharing-Protokoll speichern.

Die Verwendung von SVN Äußerlichkeiten mit der Revisions Flagge für die nicht-Wechsel Sachen Macht verhindert subclipse aus diesen Dateien auf Update zu aktualisieren. Dann wieder ist es vielleicht nicht. Da Sie einige Änderungen an der Struktur Ihres Subversion-Repository machen müsste, um es arbeiten, würde ich vorschlagen, dass Sie ein paar einfache Tests durchführen, bevor es wirklich zu tun.

I solwed dieses Problem durch "File Transfer Buffer Size" auf eine Änderung:

Window-> Einstellungen-> Remote Systems-Files und ändern Sie "File-Transfer-Puffergröße" es Download (KB) und Hochladen (KB) Werte zu hohem Wert, habe ich es bis 1000 kb, standardmäßig ist 40 kb

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