2017-05-15 4 views
-7

Ich habe eine Anwendung in Go erstellt. Es enthält 12 riesige Dateien, 6 davon 20000 Zeilen Code und 6 davon 50000 Zeilen Code. Es gibt andere Dateien mit kleinerem Code. Die großen Dateien werden aus Pseudocode generiert. Ich versuche zu kompilieren und die Zeit ist größer als 1 Stunde und es wurde nicht abgeschlossen. Ich habe es selbst gestoppt. Diese Zeit ist für Entwicklung. Ist dieses Verhalten normal? Was kann ich tun, um die Zeit zu reduzieren?Langsame Bauzeit

Mein System ist I3 mit 8 GB RAM

+4

Sie müssen ** viel ** ** mehr ** ** Details ** angeben. 20'000 Codezeilen sind nicht per se zu viel, aber 20'000 Zeilen String-Verkettungen könnten ein Problem sein. Versuchen Sie, eine viel kleinere Codebasis zu entwickeln und zu erhöhen, bis die Pause eintritt. – Volker

+0

Sorry, zwei Dateien sind 315000. Ich habe keine so große Zeichenfolge. –

+2

Warum benötigt Ihre Anwendung 630.000 Zeilen automatisch generierten Codes? Dies scheint ein [XY-Problem] (http://xyproblem.info/) zu sein. – ceejayoz

Antwort

2

Großen Go-Projekten sind nicht unbedingt ein Problem. Zum Beispiel Juju Canonical ist groß:

Zum Zeitpunkt des Schreibens, das Haupt Repo für Juju, http://github.com/juju/juju werden 3542 Dateien mit 540.000 Zeilen Code Go (nicht in dieser Zahl enthalten sind 65.000 Zeilen Kommentare). Zählt alle Abhängigkeiten außer der Standard-Bibliothek, Juju ist 9523 Dateien, mit 1.963.000 Zeilen Go-Code (ohne Kommentare, , die in 331.000 Zeilen einsteigen).

3.5 Years, 500k Lines of Go (Part 1)

Compile Zeiten scheinen vernünftig, weniger als 500 Sekunden: Compiler performance with a huge project.

Was machst du genau, und warum? Warum benutzt du so eine kleine Maschine?

+0

Ich habe Parser für DSL (Pseudocode) -Dateien erstellt und in Go-Code übersetzt. Zuerst hatte ich ungefähr 3 riesige Dateien und kleinere (die ich selbst erstellt habe und die Funktionen des geparsten Codes enthielten). Mit diesen 3 riesigen Dateien dauert die Kompilierzeit 1-2 Minuten (gehe zur Installation). Als ich 9 weitere generierte Dateien hinzugefügt habe, lief der Compiler für mindestens eine Stunde und fror mein System ein. –

+0

Als ich versucht habe Build Build gab es mich nach einiger Zeit Compiler-Signal getötet .. –