MCPcopy
hub / github.com/openacid/slim / Example_memoryUsage

Function Example_memoryUsage

trie/example_mem_usage_test.go:14–51  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

12)
13
14func Example_memoryUsage() {
15
16 data := make([]byte, 0)
17
18 keys := getKeys("50kl10")
19 offsets := []uint16{}
20
21 for i, k := range keys {
22 v := fmt.Sprintf("is the %d-th word", i)
23
24 offsets = append(offsets, uint16(len(data)))
25
26 data = append(data, m.Encode(k)...)
27 data = append(data, m.Encode(v)...)
28
29 }
30
31 vsize := 2.0
32
33 st, _ := NewSlimTrie(encode.U16{}, keys, offsets)
34 ksize := size.Of(keys)
35
36 sz := size.Of(st)
37
38 avgIdxLen := float64(sz)/float64(len(keys)) - vsize
39 avgKeyLen := float64(ksize) / float64(len(keys))
40
41 ratio := avgIdxLen / avgKeyLen * 100
42
43 fmt.Printf(
44 "Orignal:: %.1f byte/key --> SlimTrie index: %.1f byte/index\n"+
45 "Saved %.1f%%",
46 avgKeyLen,
47 avgIdxLen,
48 100-ratio,
49 )
50
51}

Callers

nothing calls this directly

Calls 3

getKeysFunction · 0.85
NewSlimTrieFunction · 0.85
EncodeMethod · 0.65

Tested by

no test coverage detected