Maison > développement back-end > Golang > le corps du texte

Initialisation de la carte Go : `make` est-il plus rapide que `{}` ?

Barbara Streisand
Libérer: 2024-10-26 21:28:02
original
364 Les gens l'ont consulté

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

Initialisation des cartes dans Go : make vs. {}

Dans Go, les cartes peuvent être initialisées en utilisant soit la syntaxe littérale {}, soit la faire fonctionner. Cet article compare les performances de ces deux approches.

Différences de performances

Les tests de référence suggèrent qu'il existe une différence de performances négligeable entre l'initialisation d'une carte à l'aide de {} ou de make. Les résultats peuvent varier légèrement en fonction de la taille de l'ensemble de données et des spécifications de la machine, mais en général, les deux méthodes fonctionnent de manière équivalente.

Code de référence

Le code suivant définit deux fonctions de référence, BenchmarkMakeLiteral et BenchmarkMakeMake, qui comparent les performances d'initialisation d'une carte à l'aide respectivement du littéral {} et de la fonction make :

<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>
Copier après la connexion

Conclusion

Sur la base des résultats de référence, il n'y a pas de différence de performances significative entre l'initialisation d'une carte à l'aide du littéral {} ou de la fonction make. Le choix de la méthode d'initialisation doit être basé sur les préférences personnelles ou les exigences spécifiques du programme.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!