SimdPaddleOCR 1.2.0
ARM64 上把 AdvSimd 铺进热路径;win-x64 默认 AVX2 与 1.1 持平。正确率不变。
相对 1.1
同一 CPU、同一 ISA、PP-OCRv6 tiny、去掉 warmup 的中位墙钟:
- linux-arm64(Neoverse N2):4 worker 472 → 273 ms(约快 42%,吞吐约 1.73×);1 worker 658 → 399 ms(约快 40%)。scalar 几乎没动。
- win-x64 关掉 AVX 的 Vector128:554 → 494 ms(约快 11%)。
- win-x64 默认 AVX2(EPYC 7763):233 → 238 ms,持平。
当前基准(1.2)
GitHub-hosted runner,tiny,4 次 CI 合计:
| 平台 | ISA | 中位 ms/图 | 工作集峰值 |
|---|---|---|---|
| win-x64 / EPYC 7763 | AVX2 | 238 | ~790 MB |
win-x64 netstandard2.0 |
AVX2(Vector) |
373 | ~785 MB |
| linux-arm64 / Neoverse N2 | AdvSimd | 273 | ~847 MB |
同机引擎对比(win-x64 / EPYC 7763,tiny 4 worker):
| 引擎 | 中位 ms/图 | 工作集峰值 | 行精确 | CER |
|---|---|---|---|---|
| 本库 | 224 | ~790 MB | 757/1022 | 3.53% |
| lw.PPOCR.C | 281 | ~586 MB | 759/1022 | 4.18% |
| OpenVINO.NET | 214 | ~2600 MB | 698/1022 | 3.63% |
lw.PPOCR.C 用的是 2026 年 8 月底的一份构建,不代表其最新版本。
正确率跨 Windows / Linux / macOS 与 scalar 都是 757/1022、CER 3.53%。墙钟接近 OpenVINO.NET、比该份 C 快约 26%;工作集约 OpenVINO.NET 的 1/3。
环境、ISA 阶梯和读数规则见 docs/perf.md。NuGet:Sdcb.SimdPaddleOCR 1.2.0。