地鼠们大家好! ?
我很高兴与大家分享 ShrinkMap,这是一种新的 Go 并发映射实现,专注于自动内存管理和性能。
https://github.com/jongyunha/shrinkmap/
ShrinkMap 是一个线程安全的映射实现,它通过清理未使用的条目来自动管理内存,同时保持并发操作的高性能。当您需要更好的内存效率时,它被设计为sync.Map的直接替代品。
package main import ( "fmt" "github.com/jongyunha/shrinkmap" ) func main() { // Create a new map sm := shrinkmap.New[string, int]() // Store values sm.Store("counter", 1) // Load values if val, ok := sm.Load("counter"); ok { fmt.Printf("Value: %d\n", val) } }
虽然sync.Map非常适合许多用例,但在某些情况下内存管理变得至关重要:
我很想听听您对以下方面的想法和反馈:
该项目开放供稿!无论是错误报告、功能请求还是代码贡献,都欢迎。
请随意:
期待您的反馈和建议!
以上是ShrinkMap - 具有自动内存管理功能的 Go 高性能并发映射的详细内容。更多信息请关注PHP中文网其他相关文章!