()
| 12 | ) |
| 13 | |
| 14 | func 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 | } |
nothing calls this directly
no test coverage detected