Heim >Backend-Entwicklung >Golang >Go Map-Initialisierung: Ist „make' schneller als „{}'?
Karteninitialisierung in Go: make vs. {}
In Go können Karten entweder mit der {}-Literalsyntax oder dem initialisiert werden Funktion machen. In diesem Artikel wird die Leistung dieser beiden Ansätze verglichen.
Leistungsunterschiede
Benchmark-Tests legen nahe, dass es einen vernachlässigbaren Leistungsunterschied zwischen der Initialisierung einer Karte mit {} oder make gibt. Die Ergebnisse können je nach Datensatzgröße und Maschinenspezifikationen leicht variieren, aber im Allgemeinen funktionieren beide Methoden gleichwertig.
Benchmark-Code
Der folgende Code definiert zwei Benchmark-Funktionen: BenchmarkMakeLiteral und BenchmarkMakeMake vergleichen die Leistung der Initialisierung einer Karte mit dem {}-Literal bzw. der Make-Funktion:
<code class="go">package main import "testing" func BenchmarkMakeLiteral(b *testing.B) { var m map[string]int for n := 0; n < b.N; n++ { m = InitMapLiteral() } } func BenchmarkMakeMake(b *testing.B) { var m map[string]int for n := 0; n < b.N; n++ { m = InitMapMake() } } func InitMapLiteral() map[string]int { return map[string]int{} } func InitMapMake() map[string]int { return make(map[string]int) }</code>
Schlussfolgerung
Basierend auf Benchmark-Ergebnissen, Es gibt keinen wesentlichen Leistungsunterschied zwischen der Initialisierung einer Karte mit dem {}-Literal oder der Make-Funktion. Die Wahl der Initialisierungsmethode sollte auf persönlichen Vorlieben oder spezifischen Anforderungen des Programms basieren.
Das obige ist der detaillierte Inhalt vonGo Map-Initialisierung: Ist „make' schneller als „{}'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!