routing: pre-allocate the distance map to an estimated node count
Pre-sizing these structures avoids a lot of map resizing, which causes copies and rehashing of entries. We mostly know that the map won't exceed that size, and it doesn't affect memory usage in any significant way.
This commit is contained in:
1 parent
2141713936
commit
3e60a23632
3 files changed
+23
-17
No files matched your search
+3
-2
@@ -50,9 +50,10 @@ type distanceHeap struct {
|
||||
|
||||
// newDistanceHeap initializes a new distance heap. This is required because
|
||||
// we must initialize the pubkeyIndices map for path-finding optimizations.
|
||||
func newDistanceHeap() distanceHeap {
|
||||
func newDistanceHeap(numNodes int) distanceHeap {
|
||||
distHeap := distanceHeap{
|
||||
pubkeyIndices: make(map[route.Vertex]int),
|
||||
pubkeyIndices: make(map[route.Vertex]int, numNodes),
|
||||
nodes: make([]nodeWithDist, 0, numNodes),
|
||||
}
|
||||
|
||||
return distHeap
|
||||
|
||||
Reference in new issue
Block a user