Rumah >pembangunan bahagian belakang >Golang >Permulaan Go Map: Adakah `make` Lebih Cepat Daripada `{}`?
Permulaan Peta dalam Go: make vs. {}
Dalam Go, peta boleh dimulakan menggunakan sama ada sintaks literal {} atau buat fungsi. Artikel ini membandingkan prestasi kedua-dua pendekatan ini.
Perbezaan Prestasi
Ujian penanda aras mencadangkan bahawa terdapat perbezaan prestasi yang boleh diabaikan antara memulakan peta menggunakan {} atau membuat. Keputusan mungkin berbeza sedikit bergantung pada saiz set data dan spesifikasi mesin, tetapi secara umum, kedua-dua kaedah berprestasi setara.
Kod Penanda Aras
Kod berikut mentakrifkan dua fungsi penanda aras, BenchmarkMakeLiteral dan BenchmarkMakeMake, yang membandingkan prestasi memulakan peta menggunakan {} fungsi literal dan make, masing-masing:
<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>
Kesimpulan
Berdasarkan hasil penanda aras, tiada perbezaan prestasi yang ketara antara memulakan peta menggunakan {} fungsi literal atau make. Pilihan kaedah permulaan hendaklah berdasarkan keutamaan peribadi atau keperluan khusus program.
Atas ialah kandungan terperinci Permulaan Go Map: Adakah `make` Lebih Cepat Daripada `{}`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!