Maxim Lebedev
dcf9e3c2ca
continuous-integration/drone/push Build is failing
Details
|
||
---|---|---|
.. | ||
.gitignore | ||
.golangci.yml | ||
LICENSE | ||
README.md | ||
dict.go | ||
pool.go | ||
types.go | ||
types_gen.go |
README.md
dictpool
Memory store like map[string]interface{}
with better performance when reuse memory.
Very useful when reuse memory (sync.Pool) to avoid extra allocations and increase the performance.
Benchmarks:
BenchmarkDict-12 100000000 12.08 ns/op 0 B/op 0 allocs/op
BenchmarkStdMap-12 71028591 21.23 ns/op 0 B/op 0 allocs/op
Benchmark with Go 1.17
Example:
d := dictpool.AcquireDict()
// d.BinarySearch = true // Useful on big heaps
key := "foo"
d.Set(key, "Hello DictPool")
if d.Has(key){
fmt.Println(d.Get(key)) // Output: Hello DictPool
}
d.Del(key)
dictpool.ReleaseDict(d)