From e490b6e1f690f4ff481edb5d09bda19c283fffe5 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sat, 19 Oct 2024 16:45:37 +0800 Subject: [PATCH] :zap: Improve performance for API getBlockTreeInfos --- kernel/model/block.go | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/kernel/model/block.go b/kernel/model/block.go index 5b59475ab..bfc295148 100644 --- a/kernel/model/block.go +++ b/kernel/model/block.go @@ -130,26 +130,8 @@ type BlockTreeInfo struct { func GetBlockTreeInfos(ids []string) (ret map[string]*BlockTreeInfo) { ret = map[string]*BlockTreeInfo{} - luteEngine := util.NewLute() - treeCache := map[string]*parse.Tree{} - for _, id := range ids { - bt := treenode.GetBlockTree(id) - if nil == bt { - ret[id] = &BlockTreeInfo{ID: id} - continue - } - - tree := treeCache[bt.RootID] - if nil == tree { - tree, _ = filesys.LoadTree(bt.BoxID, bt.Path, luteEngine) - if nil == tree { - ret[id] = &BlockTreeInfo{ID: id} - continue - } - - treeCache[bt.RootID] = tree - } - + trees := filesys.LoadTrees(ids) + for id, tree := range trees { node := treenode.GetNodeInTree(tree, id) if nil == node { ret[id] = &BlockTreeInfo{ID: id}