第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

在 golang 中聲明一個(gè)空的 map[string]interface{} 的內(nèi)存成本/開銷是多

在 golang 中聲明一個(gè)空的 map[string]interface{} 的內(nèi)存成本/開銷是多

Go
qq_花開花謝_0 2023-06-26 14:58:06
只是出于好奇,從源代碼中詢問type hmap struct {? ? count? ? ?int // 1 word? ? flags? ? ?uint8? ? B? ? ? ? ?uint8??? ? noverflow uint16?? ? hash0? ? ?uint32 // = 8 byte? ? buckets? ? unsafe.Pointer // 1 word? ? oldbuckets unsafe.Pointer // 1 word? ? nevacuate? uintptr? ? ? ? // 1 word? ? extra *mapextra // 1 word}所以它至少是:5個(gè)字+8個(gè)字節(jié)但為什么創(chuàng)建成本是0呢?-package mainimport (? ? "fmt"? ? "runtime")func main() {? ? var m1, m2 runtime.MemStats? ? var i byte? ? runtime.ReadMemStats(&m1)? ? mp := map[byte]byte{}? ? runtime.ReadMemStats(&m2)? ? fmt.Println("Bytes allocated on creation:", m2.Alloc-m1.Alloc)? ? for i = 0; i < 100; i++ {? ? ? ? runtime.ReadMemStats(&m1)? ? ? ? mp[i] = i? ? ? ? runtime.ReadMemStats(&m2)? ? ? ? fmt.Printf("Bytes allocated on assignment %d: %d\n", i, m2.Alloc-m1.Alloc)? ? }}游樂場:https://play.golang.org/p/iyYshDzexQt輸出:Bytes allocated on creation: 0
查看完整描述

1 回答

?
慕桂英4014372

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊

為什么創(chuàng)建成本是0?

Go 堆棧分配在堆上分配零字節(jié)。

mp := map[byte]byte{}


main map[byte]byte literal does not escape

package main


import (

? ? "fmt"

? ? "runtime"

)


func main() {

? ? var m1, m2 runtime.MemStats

? ? var i byte


? ? runtime.ReadMemStats(&m1)

? ? mp := map[byte]byte{}

? ? runtime.ReadMemStats(&m2)

? ? fmt.Println("Bytes allocated on creation:", m2.Alloc-m1.Alloc)

? ? for i = 0; i < 100; i++ {

? ? ? ? runtime.ReadMemStats(&m1)

? ? ? ? mp[i] = i

? ? ? ? runtime.ReadMemStats(&m2)

? ? ? ? fmt.Printf("Bytes allocated on assignment %d: %d\n", i, m2.Alloc-m1.Alloc)

? ? }

}

游樂場:https://play.golang.org/p/iyYshDzexQt


輸出:


Bytes allocated on creation: 0


查看完整回答
反對 回復(fù) 2023-06-26
  • 1 回答
  • 0 關(guān)注
  • 165 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號