On Sun, Apr 26, 2020 at 2:48 PM <naveen.ka...@gmail.com> wrote: > https://play.golang.org/p/e22ufH-T2M1 > > This is my sample data structure. > > package main > > import ( > "fmt" > ) > > type MicroChkpt struct { > comprtype uint32 > MicroChkptInfoMap map[uint32][]byte > } > > type CallChkpt struct { > FullChkptData []byte > MicroChkptMap map[uint32]*MicroChkpt > ckey uint32 > comprtype uint32 > AuditInProgress bool > } > > var CallChkptMap map[uint32]*CallChkpt > > func main() { > fmt.Println("Hello, playground") > } > > So its a nested map structure, > CallChkptMap->MicroChkptMap->MicroChkptInfoMap > So i was expecting on deleting an entry from the top level map > CallChkptMap, whole underlying memory used by nested maps would be > reclaimed. > > Its not happening till all entries are removed from the top level map( > then only i see memory dipping), map has ongoing insert and delete > operations and grows pretty big. > Any workarounds to reclaim the memory on deleting the specific entry > please? > > > Should i go to the nested maps first, set them to nil and then delete the > entry from the top level map? > Appreciate all your time and inputs. >
How exactly are you measuring whether the memory has been garbage collected? Ian -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAOyqgcVktR4g9yyJh0tinVro%3D%3Dr23PxwwLtTQBnxi0YR5-9RMw%40mail.gmail.com.