ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

kordoc批量转换提速指南:--jobs并行 + parse-worker长驻进程,实测2.8倍加速

kordoc批量转换提速指南:--jobs并行 + parse-worker长驻进程,实测2.8倍加速 kordoc批量转换提速指南--jobs并行 parse-worker长驻进程实测2.8倍加速【免费下载链接】kordoc모두 파싱해버리겠다 — HWP·HWPX·PDF·Office 문서를 Markdown으로. 양식 자동 채우기와 신구대조를 갖춘 CLI·MCP 서버 | Convert Korean documents (HWP, HWPX, PDF, Office) to Markdown — CLI and MCP server with form filling and diff项目地址: https://gitcode.com/gh_mirrors/ko/kordockordoc是一款把 HWP、HWPX、PDF、Office 等韩文文档批量转换为 Markdown 的开源工具自带 CLI 与 MCP 服务器支持表单自动填写和文本质检。当你要一次性转换几十份甚至上百份文档时逐个串行跑会非常耗时。本文介绍两种官方提速方案--jobs文件级并行转换与parse-worker长驻解析进程并附上实测加速数据帮你把批量转换速度提升近 3 倍。为什么批量转换需要提速 kordoc 的默认行为是逐个文件串行转换——解析、排版、提取图片都在同一个进程里排队执行。文档解析是典型的 CPU 密集型任务单线程跑完 100 份 HWPX每份 10 秒就要等 17 分钟。两种提速思路方案原理适用场景--jobs N启动 N 个常驻子进程按文件分发任务一次转换一批文档parse-worker保持一个长驻进程逐行读请求程序化/服务化调用一键开启 --jobs 并行转换最快上手一条命令并行转换只需在批量命令后加--jobs参数和输出目录-dnpx kordoc *.pdf --jobs 4 -d ./转换结果/这条命令会拉起 4 个常驻 Node.js 进程每个进程独立持有自己的解析器和 OCR 初始化状态文件来一个转一个、转完领下一个父进程不缓存任何文档内容内存开销可控。相关实现在 src/cli/batch.ts完整说明见官方文档 docs/parallel-batch.md。内置的并行安全保护 ️kordoc 对并行模式做了多重防坑设计新手可以放心使用文件名冲突预检多个输入文件的去扩展名主名不区分大小写必须互不相同冲突会在转换开始前直接拒绝避免输出文件互相覆盖。部分失败不中断某个文件转换失败时其余任务照常跑完最终退出码标记为失败失败详情以 JSON 输出。信号安全清理CtrlCSIGINT或 SIGTERM 会关闭所有工作进程实测零残留进程。这些行为均有集成测试覆盖见 tests/cli-batch.test.ts。实测数据4 进程 2.8 倍加速 官方基准测试bench/batch.mjsIntel i7-10700 8 核Linux用 24 份约 1.2 万段的 HWPX 和 24 份 40 页 PDF 各跑了 3 轮取中位数工作负载进程数中位耗时加速比峰值内存HWPX111.78 s1.00×382 MiBHWPX27.03 s1.68×730 MiBHWPX44.19 s2.81×1.40 GiBPDF15.86 s1.00×228 MiBPDF42.43 s2.41×683 MiB后续在 v4.17.x 上的独立复测中HWPX 在 8 进程下进一步达到3.23×而输出 SHA-256 哈希与串行结果逐字节一致——提速不牺牲转换质量。parse-worker程序化调用的长驻进程如果你的场景不是命令行跑一批而是应用里持续喂文件kordoc parse-worker是更优解进程常驻通过 stdin 每收一行 NDJSON 请求就回一行 JSON 结果彻底省掉了每个文件都启动一次 node 的开销。协议源码见 src/cli/commands-worker.ts。kordoc parse-worker交互协议极简协议版本 1启动 {ready:true,version:4.18.8,protocol:1} 请求 {id:1,file:문서.hwpx,images:false,ocr:off} 响应 {id:1,rss:183500800,result:{...}} 退出 {cmd:quit}两个实用细节请求支持ocroff/auto/force、formulaOcr、password等字段能力与 CLI 对齐每次响应附带rss进程内存你的宿主程序可据此决定何时重启 worker 防止内存膨胀。选对进程数不是越多越好 ⚖️实测数据揭示了几个关键规律选型前请阅读 docs/usage.md 的 CLI 章节默认仍是--jobs 1官方基准显示24 份几 KB 的小文件4 进程反而比串行慢0.375 s vs 0.222 s——worker 启动开销压过了解析本身。小文件请保持串行。内存随进程数线性增长4 进程 HWPX 批次峰值约 1.4 GiB8 进程升至 1.75 GiB。OCR 工作负载注意超订内置 OCR 本身使用原生多线程进程数超过物理核心数可能相互抢 CPU。经验法则核心文档批量任务从--jobs 4起步用官方脚本实测后再调npm run build BATCH_JOBS1,2,4 BATCH_REPS3 node bench/batch.mjs # 或换成你自己的文件 node bench/batch.mjs /path/to/documents/*.hwp写在最后kordoc 用两个轻量特性解决了文档批处理的提速问题--jobs让你一条命令获得近 3 倍的吞吐提升parse-worker则为程序化集成消除了进程启动税。两者都不改变转换结果——所有基准中并行与串行的输出哈希完全一致。文档批量转换提速从加一个--jobs 4开始就好。【免费下载链接】kordoc모두 파싱해버리겠다 — HWP·HWPX·PDF·Office 문서를 Markdown으로. 양식 자동 채우기와 신구대조를 갖춘 CLI·MCP 서버 | Convert Korean documents (HWP, HWPX, PDF, Office) to Markdown — CLI and MCP server with form filling and diff项目地址: https://gitcode.com/gh_mirrors/ko/kordoc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表