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.

Reply via email to