Heim >Backend-Entwicklung >Golang >Ist die Go-Sprachkompilierung schnell?
Go-Sprache lässt sich schnell kompilieren, weil: 1. Verwendung der Importreferenzverwaltungsmethode; 2. Kein Aufwand für die Vorlagenkompilierung; 3. Bootstrap-Compiler-Optimierung; Vereinfachen Sie die Codeanalyse während des Kompilierungsprozesses.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, GO 1.11.2, Dell G3-Computer.
Jetzt gibt es mehrere Hauptfunktionen von Go, darunter Kompilierungsgeschwindigkeit, Ausführungsgeschwindigkeit, Speicherverwaltung und gleichzeitige Programmierung.
Der Unterschied zwischen statischer Kompilierung und dynamischer Kompilierung
Zurück zu der Frage, die wir diskutieren möchten: Warum ist die C++-Kompilierung langsam? Es gibt zwei Hauptgründe, warum die C++-Kompilierung langsam ist:
Die beiden Methoden haben ihre eigenen Vor- und Nachteile. Ersteres muss die Kompatibilitätsprobleme verschiedener Bibliotheksversionen nicht bewältigen, und letzteres kann die Speicher- und Speichernutzung reduzieren (da verschiedene Programme dieselbe Bibliothek gemeinsam nutzen können). Welche Methoden besser und welche schwächer sind, hängt vom jeweiligen technischen Problem ab. Die Standardkompilierungsmethode von Go ist die statische Kompilierung.
1. Die Include-Methode von Header-Dateien
2. Kompilierung von Vorlagen C++ verwendet die Include-Methode, um auf Header-Dateien zu verweisen, was den Code erhöht Wenn beispielsweise N Dateien in demselben Projekt dieselbe Header-Datei enthalten, führt der Compiler die Header-Datei in jeden Code ein, sodass dieselbe Header-Datei kompiliert wird N-mal (dies ist meistens unnötig);
Die von C++ verwendeten Vorlagen dienen der Unterstützung generischer Programmierung. Sie können beim Schreiben generischer Funktionen verschiedener Typen großen Komfort bieten, aber dies wird den Compiler erheblich bereichern Kompilierungsaufwand.Natürlich verfügt C++ über viele nachfolgende Optimierungsmethoden für diese beiden Probleme, aber viele Entwickler möchten nicht zu viel Zeit und Energie dafür aufwenden.
Die meisten späteren Programmiersprachen verwenden das Importmodul anstelle von Include-Headerdateien, um das Problem der wiederholten Kompilierung zu lösen. Natürlich verwendet Go auch die Importmethode Beim Design verfolgt Go einen einfachen Ansatz und integriert keine funktionale Programmierung in das Design-Framework. Daher entsteht kein Zeitaufwand durch die Vorlagenkompilierung (der Mangel an allgemeiner Unterstützung ist auch der Grund, warum viele Menschen mit der Go-Sprache unzufrieden sind). .
Meiner Meinung nach lässt sichGo aus vier Gründen schnell kompilieren:
1. Es gibt keine Vorlagenkompilierungslast;3 ;
4. Weniger Schlüsselwörter. Es gibt 25 Schlüsselwörter in der Go-Sprache:break
default
func
interface select case defer go map struct chan else goto package switch const fallthrough if range type continue für Import Rückgabe var Der Grund, warum die Schlüsselwörter in der Go-Sprache bewusst auf so wenige beschränkt werden, besteht darin, die Codeanalyse während des Kompilierungsprozesses zu vereinfachen. Wie in anderen Sprachen können Schlüsselwörter nicht als Bezeichner verwendet werden.
Um die Kompilierung zu beschleunigen, C++ aufzugeben und auf Go umzusteigen, sollten Sie auch überlegen, ob Sie auf die Vorteile der generischen Programmierung verzichten möchten.
Hinweis: Generics werden möglicherweise in der Go 2-Version unterstützt.
Hinweis:
Obwohl Go nicht die ultimative Leistung von C++ erreichen kann, ist es in den meisten Fällen sehr ähnlich;
Go und Java sind in Bezug auf den Algorithmus-Zeitaufwand fast gleich, aber in Bezug auf den Speicheraufwand ist Java es viel höher;
In den meisten der oben genannten Fälle sind zumindest der Zeit- und Speicheraufwand von Go viel besser als bei PythonEmpfohlenes Lernen: Golang-Tutorial
Das obige ist der detaillierte Inhalt vonIst die Go-Sprachkompilierung schnell?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!