-
Notifications
You must be signed in to change notification settings - Fork 0
benchmark
github-actions[bot] edited this page May 26, 2026
·
1 revision
本文档记录当前 workflow-only native DAG 主链的压测入口和最近一次结果。
powershell -ExecutionPolicy Bypass -File .\scripts\run-large-benchmark.ps1可选参数:
-
--limit 2000先做小规模调试。 -
--workspace-root C:\path\to\benchmark-workspace把压测数据写到隔离工作区。
- 数据集:
20 Newsgroups train - 默认规模:
11314条 - benchmark 脚本:
services/python-engine/benchmarks/large_workflow_benchmark.py - artifact store:启用,summary 会记录
artifact_store_enabled和artifact_record_count - 默认工作流:
corpus_input
-> clean_text
-> normalize_text
-> tokenize
-> apply_dictionary_rules
-> filter_terms
-> frequency_statistics
-> feature_term_selection
-> keyword_extraction
-> focus_terms
-> cooccurrence_analysis
-> keyword_clustering
-> document_clustering
-> save_csv / save_png / save_html_report
命令:
powershell -ExecutionPolicy Bypass -File .\scripts\run-large-benchmark.ps1 --limit 1200结果:
- 导入耗时:
0.145s - 运行耗时:
9.77s - 总耗时:
14.57s - 处理文档数:
1200 - 运行状态:
completed - 产物数:
8 - artifact record 数:由
manifest.artifact_records统计,需与 run artifact handle 数保持同向增长 - 报告文件数:
1
核心结果规模:
-
frequency_rows:23279 -
cooccurrence_rows:2041 -
focus_term_summary_rows:1 -
feature_term_rows:23278 -
selected_feature_terms:1000 -
keyword_rows:9580 -
keyword_cluster_rows:1000 -
document_cluster_rows:1200
冷启动 import 观察:
-
import app.cli5 次平均:1151ms
当前最大的热点主要集中在:
- 关键词提取
- 大规模 CSV / PNG / HTML 导出
- 超大项目在当前项目装载时对词表与结果快照的水合
-
corpus_snapshot.json等大文件写盘
- workflow 运行时统一切到 native DAG,不再在 bridge 与 DAG 之间来回切换
- 项目持久化切到 workflow-only,避免保存阶段重复写独立流程快照
- 节点缓存使用二进制
.pkl,降低大量 JSON 序列化开销 - 去掉节点间大语料
deepcopy - 词表应用改成运行时查表结构
- 正则规则、短语规则和分词词典注入改成运行时缓存
- 中等规模语料上的
YAKE关键词提取改为多进程并行 - 审计表只记录真实命中规则
- 大语料聚类图改成簇级标注,降低 PNG 导出成本
- 保存阶段增加已归一化快路径,减少重复 manifest 归一化与深拷贝
- 项目保存支持按脏区写盘,并对 unchanged JSON 跳过重复落盘
-
workflow_run进度支持node_state_delta增量回传,降低高频轮询负担 -
corpus_snapshot.json改成轻量快照策略,大语料默认不再全量塞入原文 - 聚类分析切到
MiniBatchKMeans+ 稀疏矩阵降维路径,减少大矩阵toarray()开销 - benchmark summary 现在显式记录 artifact store 是否启用和项目级 artifact record 数,防止压测绕开产物索引链路
- 共现统计改成整数 term-id 计数路径,降低大语料字符串哈希负担
- 首次空工作区冷启动中,示例项目生成已跳过重复的大词表全量归一化,冷启动基准从约
24.9s降到约5-7s - 给长时间节点和导出阶段补了中途进度回传
当前 benchmark 说明:
- native DAG 主链已经稳定可用
- workflow-only 持久化没有带来明显性能回退
- 当前瓶颈已经从“运行框架切换成本”转向“关键词提取 + 导出 I/O + 当前项目水合”
- 当前 1200 条 benchmark 已同步真实分析链路:先经关键词提取和
focus_terms收窄,再做共现分析,因此共现规模从旧全词项链路的高行数降到聚焦后的骨干关系规模。
下一阶段最值得继续优化的是:
- 更细粒度的 ready-queue 并行调度
- 大语料导出阶段写盘
- 关键词提取与主题分析热点
- 局部重跑与更细粒度的 artifact 管理
这套文档只描述当前仓库已经实现或已经被代码验证的能力,不再把历史方案、迁移草图和未来目标混写成“当前规格”。
- 当前现状 当前仓库能跑到什么程度、哪些部分稳定、哪些部分还在打磨。
- 产品范围与完成度 以 V1 目标为基线,逐项对照当前完成情况。
- 架构说明 说明桌面端、Python sidecar、项目存储、词表、运行记录和打包结构。
- 工作流与运行时 说明 workflow-only 持久化、native DAG、缓存和插件节点的当前关系。
- 开发与构建说明 开发环境、脚本、测试、打包、压测入口。
- 示例项目说明 首次启动从安装包内置模板恢复的 3 个官方 revised-flow 样例及用途。
- 内置场景样例 官方样例矩阵、seed 授权、存储形态和使用提醒。
- 大规模压测记录 当前仓库保留的万条级工作流压测数据与性能边界。
- 技术全景与架构设计 当前技术栈、前后端边界、节点 catalog、测试覆盖和已知差距的全景说明。
- 节点 Catalog Schema 后端驱动节点 definition、UI schema、slot 白名单和插件示例。
- ADR 架构决策记录,说明重要迁移和边界选择的背景。
- 插件节点说明 本地纯 Python 节点插件的加载方式、注册接口和当前运行边界。
-
docs/根目录放当前有效文档。 -
docs/archive/放历史方案、旧规格和旧计划,仅供追溯,不再作为当前实现依据。 -
plugins/nodes/README.md放插件节点接口说明,因为它直接对应插件目录本身。
旧版 PRD、线性流程规格、V2 迁移规格、画布布局草图和实施计划已移入归档区: