>  기사  >  백엔드 개발  >  Go 맵 초기화: `make`가 `{}`보다 빠릅니까?

Go 맵 초기화: `make`가 `{}`보다 빠릅니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-26 21:28:02355검색

 Go Map Initialization: Is `make` Faster Than `{}`?

Go의 지도 초기화: make와 {}

Go에서 지도는 {} 리터럴 구문 또는 기능을 만드세요. 이 기사에서는 이 두 가지 접근 방식의 성능을 비교합니다.

성능 차이

벤치마크 테스트에서는 {}를 사용하여 지도를 초기화하는 것과 make를 사용하는 것 사이에 성능 차이가 미미한 것으로 나타났습니다. 결과는 데이터 세트 크기와 기계 사양에 따라 약간 다를 수 있지만 일반적으로 두 방법 모두 동일하게 수행됩니다.

벤치마크 코드

다음 코드는 두 가지 벤치마크 기능을 정의합니다. 각각 {} 리터럴 및 make 함수를 사용하여 지도 초기화 성능을 비교하는 BenchmarkMakeLiteral 및 BenchmarkMakeMake:

<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>

결론

벤치마크 결과를 기준으로, {} 리터럴을 사용하거나 make 함수를 사용하여 지도를 초기화하는 것 사이에는 성능상 큰 차이가 없습니다. 초기화 방법의 선택은 개인 선호도나 프로그램의 특정 요구 사항에 따라 결정되어야 합니다.

위 내용은 Go 맵 초기화: `make`가 `{}`보다 빠릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.