Both conversion steps ran their hot loops serially. Now they fan out across a configurable worker pool (default min(cpu, 16); the rig has 20 cores + NVMe): - embed_metadata: parallel image copy (thread pool) + tagging split across several concurrent exiftool processes via new run_exiftool_parallel(). - stretch_thermal: parallel session histogram, parallel render/save, and parallel exiftool embedding (reuses run_exiftool_parallel); GPS verify + retry preserved. - CLI: --workers N on both tools. GUI: shared "Parallel workers" spinbox. Measured on a 135-frame session (270 embed pairs), workers 1 -> 16: render+embed 38.9s -> 6.0s (6.5x), embed copy+tag 73.5s -> 13.0s (5.7x), histogram 1.7s -> 0.7s. 0 frames missing GPS in every run. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .gitignore | ||
| CLAUDE.md | ||
| embed_metadata.py | ||
| firemapper_gui.py | ||
| manual.html | ||
| session_map.py | ||
| stretch_thermal.py | ||