Warum der Glut-Cli so langsam ist

7

Ich habe mein Grunt-Projekt nach ember-cli migriert. Ich fand, dass die Zeit von der Dateimodifikation bis zum Abschluss des Liveloads so lang war, ungefähr 10 Minuten.

Nachdem ich ember-cli-windows, ember-cli-windows-addon installiert habe, wurde keine offensichtliche Eingabeaufforderung erhalten. Das Folgende ist eine Beispielausgabe nach ember-cli-windows, ember-cli-windows-addon installiert:

%Vor%

Im Gegensatz dazu kann der Build-Prozess nach der Dateiänderung in 2 bis 3 Sekunden im Grunt-Projekt beendet werden.

Ich benutze Windows 7.

    
kiford 18.04.2015, 02:40
quelle

3 Antworten

22

Sie fragen

  

Warum der Glut-Cli so langsam ist

Es ist nicht Glut-Cl an sich, das ist langsam, es ist Brokkoli. Gründe dafür sind:

  1. Broccoli kopiert Dateien statt Symlinking unter Windows. Um dies zu vermeiden, führen Sie Ihre Builds in einer Eingabeaufforderung mit Administratorrechten aus.

  2. Broccoli ist sehr diskettenintensiv. Um dies zu lösen, besorge dir eine SSD.

  3. Brokkoli ist prozessorintensiv. Um dies zu lösen, sollten Sie eine schnellere Maschine (vorzugsweise nicht Windows) verwenden.

  4. Broccoli erstellt eine große Anzahl von temporären Dateien in tmp , was die Leistung beeinträchtigen kann. Um dies zu beheben, löschen Sie tmp von Zeit zu Zeit.

  5. Brokkoli ist bekanntlich inhärent langsam. Sie können relevante Fragen auf der Brokkolisite finden. Warten Sie, bis die Broccoli-Mitarbeiter die Leistungsprobleme behoben haben, die sich auf ihrer Roadmap befinden. Es wurden bereits wesentliche Verbesserungen vorgenommen, also upgraden Sie auf die neueste Version von allem.

  6. Brokkoli baut alles wieder und wieder auf, auch Dinge, die sich nicht geändert haben. Um dies zu beheben, können Sie den Build-Prozess manuell so anpassen, dass bestimmte Dinge ausgeschlossen werden, und sie bei Bedarf manuell ausführen. Nehmen wir zum Beispiel an, Sie bringen ein externes 200-KB-JS-Paket über Bower und app.import in Ihr Brocfile.js . Als vorübergehende Umgehung und um zu sehen, ob es einen Unterschied macht, entferne diese Datei aus der Broccoli-Welt und lade sie direkt in index.html . Dasselbe gilt für große CSS-Dateien.

  7. Broccoli wird in einer Standardinstallation babel ausführen. Babel ist nicht so langsam, aber es braucht Zeit. Um dies zu beheben, entfernen Sie die babel-Abhängigkeit, wenn Sie nicht die ES6-Syntax verwenden.

  8. Ihr Virenscanner versucht möglicherweise, die Tausenden von Dateien zu scannen, die Broccoli erstellt. ember-cli-windows behebt dieses Problem nur für Defender. Wenn Sie ein anderes Antivirus-Paket verwenden, fügen Sie Ihr dev-Verzeichnis zur Liste der Orte hinzu, die Sie überspringen möchten.

Als Referenz habe ich ein kleines Ember-Projekt, das ich in eine Ubuntu Virtual Box-VM mit Windows-Host auf einer schnellen Maschine mit SSD einbaute, und Builds dauern 2-3 Sekunden.

Vielleicht möchten Sie auch in einer ember-cli-Liste nachfragen. Sie könnten auch ein anderes Framework wählen, das nicht in einem unreifen und ineffizienten Build-System läuft.

    
user663031 18.04.2015 03:19
quelle
4

Für Windows-Benutzer muss man Symlinks korrekt aktivieren. Da unsere Freunde bei Microsoft tatsächlich aktive Nutzer von ember und ember-cli sind. Sie haben ein Addon bereitgestellt, das genau das tut.

Siehe: Ссылка für weitere Details. Für alle Benutzer siehe: Ссылка

[Aktualisieren]

In den letzten 6 Monaten sind einige große Leistungsverbesserungen gelandet, einige sehen Verbesserungen von ein oder zwei Größenordnungen (offensichtlich hängt dies von einigen Faktoren ab ...)

Wenn es die Zeit erlaubt, sind mehr Leistungsverbesserungen geplant, eine besonders wichtige ist die Entkopplung von der Notwendigkeit, sich auf Symlinks oder Kopieren zu verlassen. Das sollte unsere Windows-Gegenstücke (und diejenigen mit langsameren Laufwerken) ziemlich glücklich machen.

Für alle, die sich momentan fühlen, als ob sie weniger als optimale Leistung sehen würden, möchte ich Ihnen dieses Handbuch empfehlen: Ссылка

Viele der jüngsten Verbesserungen wurden rückwärtskompatibel durchgeführt, erfordern jedoch Abhängigkeiten, die aktualisiert werden. Stellen Sie sicher, dass relevante Updates aktualisiert werden, und verwenden Sie diese Anleitung, um alle verbleibenden Probleme aufzuspüren und zu melden.

Windows Subsystem Linux scheint auch jetzt sehr gut zu funktionieren!

    
Stefan Penner 23.07.2015 16:20
quelle
0

Die beste Lösung zur Behebung von Leistungsproblemen in Windows ist das Ausführen eines Ubuntu (oder eines beliebigen Linux) in einer virtuellen Maschine und das Ausführen von Ember-Serve darin, NFS zum Freigeben von Ordnern mit Host .

Ich hatte genau das gleiche Problem und ich bekomme jetzt Sub-Sekunden-Bauzeiten. Versuchte alle hier und im Internet gefundenen Lösungen, aber ohne Glück. Ich habe 10x Leistung, wenn ich auf eine Ubuntu VM migriert.

    
IAmJulianAcosta 20.03.2016 01:42
quelle

Tags und Links