|
|
3 年之前 | |
|---|---|---|
| .. | ||
| .gitignore | 3 年之前 | |
| .golangci.yml | 3 年之前 | |
| LICENSE | 3 年之前 | |
| README.md | 3 年之前 | |
| dict.go | 3 年之前 | |
| pool.go | 3 年之前 | |
| types.go | 3 年之前 | |
| types_gen.go | 3 年之前 | |
Now the performance is no better than a map or sync.Map except that the extra memory allocations are better. So without better performance, maybe map or sync.Map are good built-in alternatives
Because of that, I decided to archive this library and end support.
Thanks so much 😉!
Memory store like map[string]interface{} without extra memory allocations.
BenchmarkDict-12 41162 28199 ns/op 0 B/op 0 allocs/op
BenchmarkStdMap-12 117976 9195 ns/op 10506 B/op 11 allocs/op
BenchmarkSyncMap-12 73750 15524 ns/op 3200 B/op 200 allocs/op
Benchmark with Go 1.19
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)