Home >Backend Development >Golang >Is There a Performance Difference Between \'make\' and \'{}\' for Initializing Maps in Go?
In Go, Unveiling the Performance Gap Between Maps Initialized Using "make" vs "{}"
In Go, developers have the flexibility to initialize maps in two ways: "make" and "{} syntax. This naturally raises the question of whether there are any performance differences between these approaches.
To compare the performance, a benchmark test can be created to measure the time taken to initialize a map using both methods. The provided benchmark test, as shown below, illustrates this:
<code class="go">package bench import "testing" var result map[string]int func BenchmarkMakeLiteral(b *testing.B) { var m map[string]int for n := 0; n <p>Running this benchmark on multiple occasions yields results that suggest they are practically equivalent in terms of performance:</p> <pre class="brush:php;toolbar:false">$ go test -bench=. testing: warning: no tests to run PASS BenchmarkMakeLiteral-8 10000000 160 ns/op BenchmarkMakeMake-8 10000000 171 ns/op ok github.com/johnweldon/bench 3.664s $ go test -bench=. testing: warning: no tests to run PASS BenchmarkMakeLiteral-8 10000000 182 ns/op BenchmarkMakeMake-8 10000000 173 ns/op ok github.com/johnweldon/bench 3.945s $ go test -bench=. testing: warning: no tests to run PASS BenchmarkMakeLiteral-8 10000000 170 ns/op BenchmarkMakeMake-8 10000000 170 ns/op ok github.com/johnweldon/bench 3.751s
This indicates that, on average, the performance difference between initializing maps using "make" vs "{} syntax is negligible and can be considered essentially equivalent.
The above is the detailed content of Is There a Performance Difference Between \'make\' and \'{}\' for Initializing Maps in Go?. For more information, please follow other related articles on the PHP Chinese website!