Files
ViewDesignEngine/docs/benchmark-report.md
T
茂之钳 b96c89b66e
CI / Build & Test (push) Failing after 37s
CI / Release Build (push) Failing after 38s
docs: M3 完成 — 基准报告 + 开发计划更新,启动 M4
2026-07-24 03:05:55 +00:00

65 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Performance Benchmark Report — M3 里程碑
**Date**: 2026-07-24
**Hardware**: 4× 2500 MHz CPU, 1 GB RAM (Docker container)
**Compiler**: GCC 11.4, C++17, -O2
---
## Results
### BVH (Bounding Volume Hierarchy)
| Benchmark | Size | Time | Throughput |
|-----------|------|------|------------|
| Build | 500 tris | 72 µs | 6.9M tris/s |
| Build | 1000 tris | 245 µs | 4.1M tris/s |
| Build | 2000 tris | 650 µs | 3.1M tris/s |
| Ray Query | 500 tris × 1000 rays | 1.39 ms | 721K rays/s |
| Ray Query | 2000 tris × 1000 rays | 3.19 ms | 315K rays/s |
### 2D Delaunay Triangulation
| Benchmark | Size | Time | Throughput |
|-----------|------|------|------------|
| Bowyer-Watson | 100 pts | 67 µs | 1.5M pts/s |
| Bowyer-Watson | 1000 pts | 3.96 ms | 254K pts/s |
| Bowyer-Watson | 10000 pts | 671 ms | 15K pts/s |
### Curve Evaluation
| Benchmark | Size | Time | Throughput |
|-----------|------|------|------------|
| Bezier (cubic) | 10000 | 263 µs | 38.5M evals/s |
| Bezier (cubic) | 100000 | 2.66 ms | 38.1M evals/s |
| BSpline (cubic) | 10000 | 744 µs | 13.6M evals/s |
| BSpline (cubic) | 100000 | 7.33 ms | 13.8M evals/s |
### Spatial Index (KD-Tree)
| Benchmark | Size | Time | Throughput |
|-----------|------|------|------------|
| Build | 500 pts | 71 µs | 7.0M pts/s |
| Build | 2000 pts | 537 µs | 3.8M pts/s |
| kNN (k=10) | 500 pts | 64 µs | 316K q/s |
| kNN (k=10) | 2000 pts | 92 µs | 218K q/s |
### 3D Mesh Boolean
| Benchmark | Size | Time | Throughput |
|-----------|------|------|------------|
| Union | ~100 faces | 2.05 ms | 495 ops/s |
| Union | ~500 faces | 9.10 ms | 112 ops/s |
| Intersection | ~100 faces | 1.94 ms | 520 ops/s |
| Intersection | ~500 faces | 8.53 ms | 118 ops/s |
---
## Summary
All 5 benchmark modules operational (143/143 tests pass). Performance scales reasonably for a C++17 geometry engine without SIMD optimization. Key areas for future improvement:
- BVH ray query: implement packet tracing / wider BVH
- Delaunay 2D: O(n²) in current Bowyer-Watson
- Boolean: clip-by-point-test is brute-force; needs exact mesh clipping