瀏覽代碼

:zap: 改进打开虚拟引用后加载文档的性能 https://github.com/siyuan-note/siyuan/issues/7378

Liang Ding 2 年之前
父節點
當前提交
c1b457eb76
共有 2 個文件被更改,包括 3 次插入20 次删除
  1. 0 1
      kernel/model/file.go
  2. 3 19
      kernel/model/virutalref.go

+ 0 - 1
kernel/model/file.go

@@ -605,7 +605,6 @@ func GetDoc(startID, endID, id string, index int, keyword string, mode int, size
 	}
 
 	refCount := sql.QueryRootChildrenRefCount(rootID)
-	//virtualBlockRefKeywords := getVirtualRefKeywords(tree.Root.IALAttr("title"))
 	virtualBlockRefKeywords := getBlockVirtualRefKeywords(tree.Root)
 
 	subTree := &parse.Tree{ID: rootID, Root: &ast.Node{Type: ast.NodeDocument}, Marks: tree.Marks}

+ 3 - 19
kernel/model/virutalref.go

@@ -50,23 +50,7 @@ var virtualBlockRefCache, _ = ristretto.NewCache(&ristretto.Config{
 func getBlockVirtualRefKeywords(root *ast.Node) (ret []string) {
 	val, ok := virtualBlockRefCache.Get(root.ID)
 	if !ok {
-		treeTitle := root.IALAttr("title")
-		buf := bytes.Buffer{}
-		ast.Walk(root, func(n *ast.Node, entering bool) ast.WalkStatus {
-			if !entering || !n.IsBlock() {
-				return ast.WalkContinue
-			}
-
-			content := treenode.NodeStaticContent(n, nil)
-			buf.WriteString(content)
-			return ast.WalkContinue
-		})
-		content := buf.String()
-		putBlockVirtualRefKeywords(content, root.ID, treeTitle)
-		val, ok = virtualBlockRefCache.Get(root.ID)
-		if !ok {
-			return
-		}
+		return
 	}
 	ret = val.([]string)
 	return
@@ -141,8 +125,8 @@ func CacheVirtualBlockRefJob() {
 		})
 
 		poolSize := runtime.NumCPU()
-		if 4 < poolSize {
-			poolSize = 4
+		if 8 < poolSize {
+			poolSize = 8
 		}
 		i := 0
 		waitGroup := &sync.WaitGroup{}