chore(safemap): Use go standard library for maps copy (#5756)

This commit is contained in:
Icarus Wu
2026-09-02 13:44:02 +00:00
committed by GitHub
parent c585382bbf
commit 5866f8be91
+6 -7
View File
@@ -1,6 +1,9 @@
package collection
import "sync"
import (
"maps"
"sync"
)
const (
copyThreshold = 1000
@@ -39,18 +42,14 @@ func (m *SafeMap) Del(key any) {
m.deletionNew++
}
if m.deletionOld >= maxDeletion && len(m.dirtyOld) < copyThreshold {
for k, v := range m.dirtyOld {
m.dirtyNew[k] = v
}
maps.Copy(m.dirtyNew, m.dirtyOld)
m.dirtyOld = m.dirtyNew
m.deletionOld = m.deletionNew
m.dirtyNew = make(map[any]any)
m.deletionNew = 0
}
if m.deletionNew >= maxDeletion && len(m.dirtyNew) < copyThreshold {
for k, v := range m.dirtyNew {
m.dirtyOld[k] = v
}
maps.Copy(m.dirtyOld, m.dirtyNew)
m.dirtyNew = make(map[any]any)
m.deletionNew = 0
}