Kelsidavis-WoWee/tools/asset_extract
Kelsi cab1912441 perf(extract): parallelize open-format emit pass
Conversions are CPU-bound (BLP decode, M2/WMO parse, WOM/WOB
serialize) so the serial walk leaves cores idle. Now collects
every job into a vector during the directory walk, then dispatches
across hardware_concurrency() workers via an atomic next-index
queue. Stats use atomics to avoid the per-job mutex.

Expected ~5-8x speedup for full-tree --upgrade-extract on a
modern desktop. Existing test_open_format_emitter still passes
(it exercises both single-file emit*From* helpers and the parallel
emitOpenFormats walker).
2026-05-06 10:55:05 -07:00
..
extractor.cpp feat(extract): emit WHM+WOT+WOC for ADT terrain tiles 2026-05-06 10:36:14 -07:00
extractor.hpp feat(extract): emit WHM+WOT+WOC for ADT terrain tiles 2026-05-06 10:36:14 -07:00
main.cpp feat(extract): add --upgrade-extract for in-place sidecar generation 2026-05-06 10:52:55 -07:00
manifest_writer.cpp Replace MPQ runtime with loose file asset system 2026-02-12 20:32:14 -08:00
manifest_writer.hpp Replace MPQ runtime with loose file asset system 2026-02-12 20:32:14 -08:00
open_format_emitter.cpp perf(extract): parallelize open-format emit pass 2026-05-06 10:55:05 -07:00
open_format_emitter.hpp feat(extract): emit WHM+WOT+WOC for ADT terrain tiles 2026-05-06 10:36:14 -07:00
path_mapper.cpp refactor path mapper 2026-04-04 14:34:23 -03:00
path_mapper.hpp refactor path mapper 2026-04-04 14:34:23 -03:00