Heim > Backend-Entwicklung > Golang > Wie viel Speicher reserviert eine nicht initialisierte Go-Map?

Wie viel Speicher reserviert eine nicht initialisierte Go-Map?

Linda Hamilton
Freigeben: 2024-12-23 04:36:14
Original
740 Leute haben es durchsucht

How Much Memory Does an Uninitialized Go Map Allocate?

Bestimmen der Speicherzuweisung für nicht initialisierte Go-Karten

In JavaScript wird beim Erstellen einer Karte die anfängliche Kapazität nicht explizit angegeben. Der zugewiesene Speicher ist von der Implementierung abhängig. In diesem Artikel wird untersucht, wie Sie die Speicherzuweisung für solche Karten in Go bestimmen.

Anfängliche Speicherzuweisung

Wenn eine Karte erstellt wird, ohne die anfängliche Kapazität anzugeben, weist Go eine kleine zu Menge an Speicher. Dazu gehören ein Header und ein Array von Buckets.

Kartenstruktur verstehen

Laut Gos Kartentyp-Quellcode besteht eine Karte aus:

  • Ein Header (Typ hmap) mit Feldern, die 40 Bytes belegen
  • Ein Array von Buckets (Typ bmap), wobei jeder Bucket 8 Bytes belegt

Berechnung

Für eine 64-Bit-Architektur ist die anfängliche Speicherzuweisung wie folgt:

Header Fields: 40 bytes
Bucket Array (1 bucket): 8 bytes
---------------------------
Total: 48 bytes
Nach dem Login kopieren

Hinweis:

Die genaue Speicherzuordnung kann abhängig von Faktoren wie z. B. variieren das Betriebssystem und die Architektur.

Das obige ist der detaillierte Inhalt vonWie viel Speicher reserviert eine nicht initialisierte Go-Map?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage