Documentation ¶
Overview ¶
Package memsize computes the size of your object graph.
So you made a spiffy algorithm and it works really well, but geez it's using way too much memory. Where did it all go? memsize to the rescue!
To get started, find a value that references all your objects and scan it. This traverses the graph, counting sizes per type.
sizes := memsize.Scan(myValue) fmt.Println(sizes.Total)
memsize can handle cycles just fine and tracks both private and public struct fields. Unfortunately function closures cannot be inspected in any way.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Sizes ¶
type Sizes struct { Total uintptr ByType map[reflect.Type]*TypeSize // Internal stats (for debugging) BitmapSize uintptr BitmapUtilization float32 }
Sizes is the result of a scan.
Source Files ¶
Click to show internal directories.
Click to hide internal directories.