mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-05 10:19:50 +00:00
Merge pull request #116922 from sourcelliu/checkpoint
Improve the performance of map usage
This commit is contained in:
commit
0086712926
@ -25,9 +25,9 @@ type ContainerCPUAssignments map[string]map[string]cpuset.CPUSet
|
||||
|
||||
// Clone returns a copy of ContainerCPUAssignments
|
||||
func (as ContainerCPUAssignments) Clone() ContainerCPUAssignments {
|
||||
ret := make(ContainerCPUAssignments)
|
||||
ret := make(ContainerCPUAssignments, len(as))
|
||||
for pod := range as {
|
||||
ret[pod] = make(map[string]cpuset.CPUSet)
|
||||
ret[pod] = make(map[string]cpuset.CPUSet, len(as[pod]))
|
||||
for container, cset := range as[pod] {
|
||||
ret[pod][container] = cset
|
||||
}
|
||||
|
@ -121,7 +121,7 @@ func (sc *stateCheckpoint) restoreState() error {
|
||||
var tmpContainerCPUSet cpuset.CPUSet
|
||||
tmpAssignments := ContainerCPUAssignments{}
|
||||
for pod := range checkpointV2.Entries {
|
||||
tmpAssignments[pod] = make(map[string]cpuset.CPUSet)
|
||||
tmpAssignments[pod] = make(map[string]cpuset.CPUSet, len(checkpointV2.Entries[pod]))
|
||||
for container, cpuString := range checkpointV2.Entries[pod] {
|
||||
if tmpContainerCPUSet, err = cpuset.Parse(cpuString); err != nil {
|
||||
return fmt.Errorf("could not parse cpuset %q for container %q in pod %q: %v", cpuString, container, pod, err)
|
||||
@ -147,7 +147,7 @@ func (sc *stateCheckpoint) storeState() error {
|
||||
|
||||
assignments := sc.cache.GetCPUAssignments()
|
||||
for pod := range assignments {
|
||||
checkpoint.Entries[pod] = make(map[string]string)
|
||||
checkpoint.Entries[pod] = make(map[string]string, len(assignments[pod]))
|
||||
for container, cset := range assignments[pod] {
|
||||
checkpoint.Entries[pod][container] = cset.String()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user