From 9b4495b9a8728858c16a25587b75831250548b03 Mon Sep 17 00:00:00 2001 From: lightclient Date: Tue, 17 Feb 2026 21:14:52 +0000 Subject: [PATCH] trie: simplify summary generation --- trie/inspect.go | 71 +++++++++++++------------------------------------ 1 file changed, 19 insertions(+), 52 deletions(-) diff --git a/trie/inspect.go b/trie/inspect.go index be8948dbfe..ec82ccca80 100644 --- a/trie/inspect.go +++ b/trie/inspect.go @@ -19,6 +19,7 @@ package trie import ( "bufio" "bytes" + "cmp" "container/heap" "encoding/binary" "encoding/json" @@ -464,64 +465,30 @@ func (t *topStorage) Sorted() []*storageSnapshot { } func compareStorageByDepth(a, b *storageSnapshot) int { - if cmp := compareInt(a.MaxDepth, b.MaxDepth); cmp != 0 { - return cmp - } - if cmp := compareUint64(a.TotalNodes, b.TotalNodes); cmp != 0 { - return cmp - } - if cmp := compareUint64(a.Summary.Value, b.Summary.Value); cmp != 0 { - return cmp - } - return bytes.Compare(a.Owner[:], b.Owner[:]) + return cmp.Or( + cmp.Compare(a.MaxDepth, b.MaxDepth), + cmp.Compare(a.TotalNodes, b.TotalNodes), + cmp.Compare(a.Summary.Value, b.Summary.Value), + bytes.Compare(a.Owner[:], b.Owner[:]), + ) } func compareStorageByTotal(a, b *storageSnapshot) int { - if cmp := compareUint64(a.TotalNodes, b.TotalNodes); cmp != 0 { - return cmp - } - if cmp := compareInt(a.MaxDepth, b.MaxDepth); cmp != 0 { - return cmp - } - if cmp := compareUint64(a.Summary.Value, b.Summary.Value); cmp != 0 { - return cmp - } - return bytes.Compare(a.Owner[:], b.Owner[:]) + return cmp.Or( + cmp.Compare(a.TotalNodes, b.TotalNodes), + cmp.Compare(a.MaxDepth, b.MaxDepth), + cmp.Compare(a.Summary.Value, b.Summary.Value), + bytes.Compare(a.Owner[:], b.Owner[:]), + ) } func compareStorageByValue(a, b *storageSnapshot) int { - if cmp := compareUint64(a.Summary.Value, b.Summary.Value); cmp != 0 { - return cmp - } - if cmp := compareInt(a.MaxDepth, b.MaxDepth); cmp != 0 { - return cmp - } - if cmp := compareUint64(a.TotalNodes, b.TotalNodes); cmp != 0 { - return cmp - } - return bytes.Compare(a.Owner[:], b.Owner[:]) -} - -func compareInt(a, b int) int { - switch { - case a > b: - return 1 - case a < b: - return -1 - default: - return 0 - } -} - -func compareUint64(a, b uint64) int { - switch { - case a > b: - return 1 - case a < b: - return -1 - default: - return 0 - } + return cmp.Or( + cmp.Compare(a.Summary.Value, b.Summary.Value), + cmp.Compare(a.MaxDepth, b.MaxDepth), + cmp.Compare(a.TotalNodes, b.TotalNodes), + bytes.Compare(a.Owner[:], b.Owner[:]), + ) } type inspectSummary struct {