Drew: "make it more multi-threaded... I still see my cpu idle for far too long." Measured, fixed, and regression-tested against the S46-3 bank as a KNOWN ANSWER. - THE MEASUREMENT: 31s saturated (33 makes/48 cc1/load 27) then ~25s with ONE build alive while 31 cores idled, repeating. Causes: ex.map starts in list order so the giants land last, and apply/restore is single-threaded. - gate_all -> gate_failures: return EVERY failure the sweep already computed (~138 rounds -> 1). - Longest-first gate scheduling; results re-sorted into `changed` order so the verdict stays bit-identical to the serial loop's. - PER-OVERLAY INDEPENDENT SEARCH, IN PROCESSES. My first cut used threads and the box refuted it: 0-4 builds alive at load 3, because the work is regex over 15k-line files and 138 "parallel" searches all queued on the GIL. Same logic in a ProcessPoolExecutor: 14-29 builds, load 34.75, search phase ~100s. Safe because the shared header is written ONCE by the parent and each overlay owns its own .c files + build/<bin>/. Seeded with one in-process search first — a pool submitted at once gives every worker an empty suspect list and makes all 138 pay a full bisection. place_in_overlay extracted to module level so the worker and the in-process apply cannot drift (R33); compiles_standalone's fixed t.c is per-call now. - THE REGRESSION (the point, not the stopwatch): revert src/+config to pre-bank, re-run the identical command -> 29 functions (same), 141 overlays byte-identical, 682s vs ~1440s, and 285 exclusions vs ~350 => +62 MORE member instances (249,161). The old prefix-based necessity probe was OVER-EXCLUDING (charging 4 fns to 9 overlays that did not all need them); the per-overlay shrink minimises per overlay. The faster path is also more correct — a timing comparison would never have shown it. R22 213/213 + tools-health green. - STILL SERIAL, now the actual wall-clock (neither is a build): ~3min setup before the first gate (registered_addrs() yaml-parsing a 1949-group/249k-instance registry + 213 sig loads) and ~2.5min of sequential reconcile_caller_extern after the search. - Captured as defaults: docs/accelerators.md A8 + memory fleet-tool-parallelism-defaults. cookbook index regenerated (my §155c append left it stale — the gate caught it, exit 1).
12 KiB
BFM FLEET matching progress (generated by tools/progress.py --fleet — authoritative)
213 binaries: main + resident + 211 location overlays. DETERMINISTIC,
source-derived (committed src/*.c + config/dedup.us.yaml). Live byte gate: make check-all;
cross-binary collapsible-byte leverage: docs/duplicates.cross.md.
THREE progress metrics (all matter — see the labels):
FLEET fn-count byte-ident: 347723 / 363378 = 95.69% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 12685370 / 13523856 = 93.8% (shipped .text across main + resident + 211 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 5100166 / 5851963 = 87.2% (78596/90928 unique fns; the DISTINCT-RE number) MAIN game-code weighted : 436 / 79510 = 0.5% (INCLUDED in the fleet numbers above since 2026-07-22 — roadmap §1 metrics contract; LINKED-excluding Ghidra sig dated 2026-08-05; caveat is R34: no independent second oracle for a PS-X EXE, NOT drift) (fleet EXCLUDING main, for continuity with pre-2026-07-22 readings: 12684934 / 13444346 = 94.4%)
FLEET REAL substantive : 345541 (of which dedup-shared 249159 via 1949 groups / 249233 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 15648 FLEET matchable : 363378
| binary | REAL | shared | LINKED | byte-ident | matchable | byte-ident % |
|---|---|---|---|---|---|---|
| main | 54 | 2 | 959 | 1055 | 2096 | 50.3% |
| resident | 129 | 0 | 0 | 131 | 145 | 90.3% |
| md_MAIN_001 | 1 | 0 | 0 | 1 | 11 | 9.1% |
| md_MAIN_003 | 0 | 0 | 0 | 0 | 60 | 0.0% |
| md_MAIN_008 | 0 | 0 | 0 | 0 | 6 | 0.0% |
| md_MAIN_011 | 0 | 0 | 0 | 0 | 21 | 0.0% |
| md_MAIN_013 | 3 | 0 | 0 | 3 | 16 | 18.8% |
| md_MAIN_014 | 3 | 0 | 0 | 4 | 13 | 30.8% |
| md_MAIN_015 | 3 | 0 | 0 | 3 | 20 | 15.0% |
| md_MAIN_016 | 2 | 0 | 0 | 3 | 13 | 23.1% |
| md_MAIN_017 | 3 | 0 | 0 | 3 | 10 | 30.0% |
| md_MAIN_018 | 3 | 0 | 0 | 4 | 11 | 36.4% |
| md_MAIN_019 | 3 | 0 | 0 | 3 | 22 | 13.6% |
| md_MAIN_020 | 5 | 0 | 0 | 6 | 14 | 42.9% |
| md_MAIN_021 | 3 | 0 | 0 | 4 | 11 | 36.4% |
| md_MAIN_022 | 10 | 0 | 0 | 12 | 33 | 36.4% |
| md_MAIN_023 | 2 | 0 | 0 | 3 | 6 | 50.0% |
| md_MAIN_024 | 2 | 0 | 0 | 4 | 6 | 66.7% |
| md_MAIN_025 | 3 | 0 | 0 | 3 | 30 | 10.0% |
| md_MAIN_026 | 3 | 0 | 0 | 3 | 24 | 12.5% |
| md_MAIN_027 | 6 | 0 | 0 | 8 | 29 | 27.6% |
| md_MAIN_028 | 3 | 0 | 0 | 3 | 22 | 13.6% |
| md_MAIN_029 | 3 | 0 | 0 | 4 | 11 | 36.4% |
| md_MAIN_030 | 3 | 0 | 0 | 3 | 10 | 30.0% |
| md_MAIN_031 | 2 | 0 | 0 | 2 | 18 | 11.1% |
| md_MAIN_032 | 2 | 0 | 0 | 2 | 10 | 20.0% |
| md_MAIN_033 | 2 | 0 | 0 | 2 | 19 | 10.5% |
| md_MAIN_034 | 2 | 0 | 0 | 3 | 28 | 10.7% |
| md_MAIN_035 | 7 | 0 | 0 | 8 | 16 | 50.0% |
| md_MAIN_036 | 2 | 0 | 0 | 3 | 28 | 10.7% |
| md_MAIN_037 | 2 | 0 | 0 | 2 | 17 | 11.8% |
| md_MAIN_038 | 3 | 0 | 0 | 3 | 20 | 15.0% |
| md_MAIN_039 | 2 | 0 | 0 | 2 | 26 | 7.7% |
| md_MAIN_040 | 2 | 0 | 0 | 2 | 19 | 10.5% |
| md_MAIN_041 | 3 | 0 | 0 | 3 | 15 | 20.0% |
| md_MAIN_042 | 0 | 0 | 0 | 0 | 4 | 0.0% |
| md_MAIN_043 | 2 | 0 | 0 | 3 | 23 | 13.0% |
| md_MAIN_044 | 7 | 0 | 0 | 8 | 44 | 18.2% |
| md_MAIN_045 | 0 | 0 | 0 | 1 | 21 | 4.8% |
| md_MAIN_046 | 4 | 0 | 0 | 5 | 39 | 12.8% |
| md_MAIN_047 | 3 | 0 | 0 | 4 | 12 | 33.3% |
| md_SC02_009 | 0 | 0 | 0 | 0 | 40 | 0.0% |
| md_SC03_073 | 0 | 0 | 0 | 2 | 28 | 7.1% |
| md_SC03_074 | 0 | 0 | 0 | 2 | 29 | 6.9% |
| md_SC03_075 | 0 | 0 | 0 | 2 | 41 | 4.9% |
| md_SC03_076 | 0 | 0 | 0 | 2 | 66 | 3.0% |
| md_SC03_077 | 0 | 0 | 0 | 2 | 35 | 5.7% |
| md_SC03_078 | 0 | 0 | 0 | 2 | 27 | 7.4% |
| md_SC03_079 | 0 | 0 | 0 | 2 | 29 | 6.9% |
| md_SC03_132 | 0 | 0 | 0 | 2 | 28 | 7.1% |
| md_SC03_133 | 0 | 0 | 0 | 2 | 29 | 6.9% |
| md_SC03_134 | 0 | 0 | 0 | 2 | 41 | 4.9% |
| md_SC03_135 | 0 | 0 | 0 | 2 | 66 | 3.0% |
| md_SC03_136 | 0 | 0 | 0 | 2 | 35 | 5.7% |
| md_SC03_137 | 0 | 0 | 0 | 2 | 27 | 7.4% |
| md_SC03_138 | 0 | 0 | 0 | 4 | 37 | 10.8% |
| md_SC04_024 | 0 | 0 | 0 | 2 | 28 | 7.1% |
| md_SC04_025 | 0 | 0 | 0 | 2 | 29 | 6.9% |
| md_SC04_026 | 0 | 0 | 0 | 2 | 41 | 4.9% |
| md_SC04_027 | 0 | 0 | 0 | 2 | 66 | 3.0% |
| md_SC04_028 | 0 | 0 | 0 | 2 | 35 | 5.7% |
| md_SC04_029 | 0 | 0 | 0 | 2 | 27 | 7.4% |
| md_SC04_030 | 0 | 0 | 0 | 4 | 31 | 12.9% |
| md_SC05_023 | 0 | 0 | 0 | 2 | 28 | 7.1% |
| md_SC05_024 | 0 | 0 | 0 | 2 | 29 | 6.9% |
| md_SC05_025 | 0 | 0 | 0 | 2 | 41 | 4.9% |
| md_SC05_026 | 0 | 0 | 0 | 2 | 66 | 3.0% |
| md_SC05_027 | 0 | 0 | 0 | 2 | 35 | 5.7% |
| md_SC05_028 | 0 | 0 | 0 | 2 | 27 | 7.4% |
| md_SC05_029 | 0 | 0 | 0 | 4 | 31 | 12.9% |
| md_SC07_003 | 12 | 0 | 0 | 12 | 100 | 12.0% |
| md_SC07_004 | 40 | 0 | 0 | 40 | 315 | 12.7% |
| ov_MAIN_012 | 1788 | 1635 | 0 | 1867 | 2403 | 77.7% |
| ov_SC01_000 | 2389 | 1775 | 0 | 2389 | 2403 | 99.4% |
| ov_SC01_001 | 2396 | 1776 | 0 | 2398 | 2466 | 97.2% |
| ov_SC01_004 | 2393 | 1767 | 0 | 2394 | 2414 | 99.2% |
| ov_SC01_005 | 2425 | 1790 | 0 | 2425 | 2503 | 96.9% |
| ov_SC01_006 | 2425 | 1790 | 0 | 2425 | 2503 | 96.9% |
| ov_SC01_008 | 2393 | 1767 | 0 | 2395 | 2426 | 98.7% |
| ov_SC01_009 | 2420 | 1768 | 0 | 2421 | 2507 | 96.6% |
| ov_SC01_074 | 2395 | 1768 | 0 | 2397 | 2425 | 98.8% |
| ov_SC01_077 | 2561 | 1733 | 0 | 2563 | 2586 | 99.1% |
| ov_SC01_080 | 2424 | 1771 | 0 | 2424 | 2512 | 96.5% |
| ov_SC01_084 | 2448 | 1776 | 0 | 2453 | 2579 | 95.1% |
| ov_SC02_000 | 2520 | 1815 | 0 | 2520 | 2683 | 93.9% |
| ov_SC02_003 | 2520 | 1815 | 0 | 2520 | 2683 | 93.9% |
| ov_SC02_004 | 2389 | 1771 | 0 | 2389 | 2401 | 99.5% |
| ov_SC02_005 | 2539 | 1767 | 0 | 2549 | 2927 | 87.1% |
| ov_SC02_011 | 2626 | 1774 | 0 | 2637 | 2893 | 91.2% |
| ov_SC02_015 | 2399 | 1773 | 0 | 2399 | 2414 | 99.4% |
| ov_SC02_016 | 2482 | 1774 | 0 | 2485 | 2545 | 97.6% |
| ov_SC02_017 | 2550 | 1774 | 0 | 2558 | 2732 | 93.6% |
| ov_SC02_021 | 2404 | 1773 | 0 | 2404 | 2437 | 98.6% |
| ov_SC02_026 | 2502 | 1771 | 0 | 2508 | 2572 | 97.5% |
| ov_SC02_027 | 2558 | 1776 | 0 | 2567 | 2692 | 95.4% |
| ov_SC02_028 | 2563 | 1776 | 0 | 2573 | 2701 | 95.3% |
| ov_SC02_031 | 2493 | 1772 | 0 | 2498 | 2562 | 97.5% |
| ov_SC02_035 | 2487 | 1771 | 0 | 2490 | 2520 | 98.8% |
| ov_SC02_037 | 1852 | 1642 | 0 | 1934 | 2516 | 76.9% |
| ov_SC02_039 | 2394 | 1771 | 0 | 2394 | 2416 | 99.1% |
| ov_SC02_041 | 2475 | 1771 | 0 | 2478 | 2561 | 96.8% |
| ov_SC03_001 | 2669 | 1772 | 0 | 2686 | 2869 | 93.6% |
| ov_SC03_002 | 2541 | 1776 | 0 | 2556 | 2631 | 97.1% |
| ov_SC03_003 | 2398 | 1771 | 0 | 2399 | 2423 | 99.0% |
| ov_SC03_006 | 2553 | 1778 | 0 | 2562 | 2767 | 92.6% |
| ov_SC03_007 | 2462 | 1771 | 0 | 2466 | 2623 | 94.0% |
| ov_SC03_010 | 2414 | 1771 | 0 | 2414 | 2471 | 97.7% |
| ov_SC03_011 | 2415 | 1771 | 0 | 2421 | 2527 | 95.8% |
| ov_SC03_012 | 2388 | 1771 | 0 | 2389 | 2406 | 99.3% |
| ov_SC03_013 | 2420 | 1771 | 0 | 2420 | 2493 | 97.1% |
| ov_SC03_014 | 2573 | 1802 | 0 | 2573 | 2685 | 95.8% |
| ov_SC03_015 | 2572 | 1802 | 0 | 2572 | 2685 | 95.8% |
| ov_SC03_023 | 2400 | 1771 | 0 | 2401 | 2435 | 98.6% |
| ov_SC03_024 | 2516 | 1776 | 0 | 2523 | 2641 | 95.5% |
| ov_SC03_028 | 2462 | 1772 | 0 | 2466 | 2664 | 92.6% |
| ov_SC03_029 | 2499 | 1774 | 0 | 2509 | 2644 | 94.9% |
| ov_SC03_030 | 2418 | 1776 | 0 | 2420 | 2495 | 97.0% |
| ov_SC03_031 | 2446 | 1771 | 0 | 2449 | 2514 | 97.4% |
| ov_SC03_089 | 2512 | 1776 | 0 | 2519 | 2581 | 97.6% |
| ov_SC03_090 | 2527 | 1776 | 0 | 2535 | 2625 | 96.6% |
| ov_SC03_091 | 2541 | 1776 | 0 | 2549 | 2640 | 96.6% |
| ov_SC03_092 | 2505 | 1776 | 0 | 2517 | 2587 | 97.3% |
| ov_SC03_093 | 2515 | 1776 | 0 | 2519 | 2563 | 98.3% |
| ov_SC03_094 | 2504 | 1771 | 0 | 2510 | 2577 | 97.4% |
| ov_SC03_095 | 2431 | 1771 | 0 | 2434 | 2474 | 98.4% |
| ov_SC03_096 | 2428 | 1771 | 0 | 2431 | 2465 | 98.6% |
| ov_SC03_097 | 2525 | 1776 | 0 | 2532 | 2603 | 97.3% |
| ov_SC03_098 | 2509 | 1776 | 0 | 2512 | 2541 | 98.9% |
| ov_SC03_099 | 2485 | 1771 | 0 | 2488 | 2504 | 99.4% |
| ov_SC03_100 | 2520 | 1776 | 0 | 2524 | 2539 | 99.4% |
| ov_SC03_101 | 2483 | 1776 | 0 | 2487 | 2528 | 98.4% |
| ov_SC03_102 | 2469 | 1771 | 0 | 2472 | 2492 | 99.2% |
| ov_SC03_103 | 2493 | 1773 | 0 | 2496 | 2510 | 99.4% |
| ov_SC03_104 | 2541 | 1776 | 0 | 2548 | 2616 | 97.4% |
| ov_SC03_105 | 2448 | 1772 | 0 | 2455 | 2597 | 94.5% |
| ov_SC03_107 | 1797 | 1635 | 0 | 1880 | 2497 | 75.3% |
| ov_SC03_108 | 2399 | 1771 | 0 | 2399 | 2443 | 98.2% |
| ov_SC03_109 | 2407 | 1771 | 0 | 2409 | 2424 | 99.4% |
| ov_SC03_110 | 2440 | 1778 | 0 | 2440 | 2468 | 98.9% |
| ov_SC03_111 | 2471 | 1771 | 0 | 2474 | 2510 | 98.6% |
| ov_SC03_112 | 2436 | 1773 | 0 | 2438 | 2526 | 96.5% |
| ov_SC03_113 | 2434 | 1773 | 0 | 2437 | 2468 | 98.7% |
| ov_SC03_114 | 2389 | 1771 | 0 | 2391 | 2415 | 99.0% |
| ov_SC03_115 | 2430 | 1771 | 0 | 2432 | 2472 | 98.4% |
| ov_SC03_116 | 2399 | 1771 | 0 | 2402 | 2438 | 98.5% |
| ov_SC03_117 | 2467 | 1771 | 0 | 2473 | 2557 | 96.7% |
| ov_SC03_118 | 2542 | 1796 | 0 | 2543 | 2685 | 94.7% |
| ov_SC03_119 | 2539 | 1796 | 0 | 2540 | 2685 | 94.6% |
| ov_SC03_121 | 2402 | 1771 | 0 | 2405 | 2459 | 97.8% |
| ov_SC03_124 | 2576 | 1767 | 0 | 2596 | 2741 | 94.7% |
| ov_SC03_125 | 2527 | 1771 | 0 | 2539 | 2588 | 98.1% |
| ov_SC03_126 | 2399 | 1773 | 0 | 2399 | 2423 | 99.0% |
| ov_SC04_000 | 2473 | 1775 | 0 | 2482 | 2546 | 97.5% |
| ov_SC04_002 | 2503 | 1771 | 0 | 2507 | 2636 | 95.1% |
| ov_SC04_003 | 2438 | 1771 | 0 | 2442 | 2502 | 97.6% |
| ov_SC04_004 | 2469 | 1771 | 0 | 2471 | 2558 | 96.6% |
| ov_SC04_005 | 2499 | 1771 | 0 | 2505 | 2612 | 95.9% |
| ov_SC04_006 | 2429 | 1771 | 0 | 2431 | 2454 | 99.1% |
| ov_SC04_007 | 2493 | 1771 | 0 | 2497 | 2569 | 97.2% |
| ov_SC04_008 | 2399 | 1771 | 0 | 2399 | 2415 | 99.3% |
| ov_SC04_009 | 2426 | 1771 | 0 | 2429 | 2441 | 99.5% |
| ov_SC04_010 | 2401 | 1771 | 0 | 2402 | 2419 | 99.3% |
| ov_SC04_011 | 2515 | 1776 | 0 | 2521 | 2803 | 89.9% |
| ov_SC04_012 | 2396 | 1771 | 0 | 2397 | 2420 | 99.0% |
| ov_SC04_015 | 2532 | 1772 | 0 | 2543 | 2611 | 97.4% |
| ov_SC04_016 | 2400 | 1771 | 0 | 2402 | 2440 | 98.4% |
| ov_SC04_018 | 2672 | 1808 | 0 | 2672 | 2857 | 93.5% |
| ov_SC04_019 | 2672 | 1808 | 0 | 2672 | 2857 | 93.5% |
| ov_SC04_020 | 2513 | 1771 | 0 | 2525 | 2567 | 98.4% |
| ov_SC04_021 | 2399 | 1773 | 0 | 2399 | 2423 | 99.0% |
| ov_SC05_000 | 2405 | 1775 | 0 | 2408 | 2422 | 99.4% |
| ov_SC05_001 | 2477 | 1772 | 0 | 2482 | 2574 | 96.4% |
| ov_SC05_002 | 2429 | 1771 | 0 | 2432 | 2442 | 99.6% |
| ov_SC05_003 | 2412 | 1771 | 0 | 2413 | 2481 | 97.3% |
| ov_SC05_004 | 2422 | 1771 | 0 | 2424 | 2464 | 98.4% |
| ov_SC05_005 | 2437 | 1777 | 0 | 2438 | 2491 | 97.9% |
| ov_SC05_006 | 2421 | 1772 | 0 | 2421 | 2430 | 99.6% |
| ov_SC05_007 | 2430 | 1771 | 0 | 2435 | 2482 | 98.1% |
| ov_SC05_008 | 2441 | 1771 | 0 | 2443 | 2543 | 96.1% |
| ov_SC05_009 | 2408 | 1771 | 0 | 2412 | 2438 | 98.9% |
| ov_SC05_010 | 2448 | 1772 | 0 | 2452 | 2588 | 94.7% |
| ov_SC05_011 | 2395 | 1771 | 0 | 2396 | 2409 | 99.5% |
| ov_SC05_017 | 2648 | 1768 | 0 | 2659 | 2842 | 93.6% |
| ov_SC05_018 | 2545 | 1771 | 0 | 2558 | 2673 | 95.7% |
| ov_SC05_019 | 2399 | 1773 | 0 | 2399 | 2423 | 99.0% |
| ov_SC06_000 | 2528 | 1780 | 0 | 2531 | 2691 | 94.1% |
| ov_SC06_006 | 2422 | 1771 | 0 | 2423 | 2511 | 96.5% |
| ov_SC06_008 | 2487 | 1773 | 0 | 2493 | 2542 | 98.1% |
| ov_SC06_010 | 2459 | 1771 | 0 | 2464 | 2517 | 97.9% |
| ov_SC06_011 | 2414 | 1771 | 0 | 2418 | 2468 | 98.0% |
| ov_SC06_013 | 2404 | 1771 | 0 | 2405 | 2425 | 99.2% |
| ov_SC06_014 | 2415 | 1771 | 0 | 2417 | 2453 | 98.5% |
| ov_SC06_015 | 2409 | 1771 | 0 | 2409 | 2421 | 99.5% |
| ov_SC06_016 | 2451 | 1772 | 0 | 2453 | 2549 | 96.2% |
| ov_SC06_018 | 2499 | 1773 | 0 | 2506 | 2665 | 94.0% |
| ov_SC06_020 | 2445 | 1773 | 0 | 2446 | 2518 | 97.1% |
| ov_SC06_022 | 2480 | 1771 | 0 | 2488 | 2642 | 94.2% |
| ov_SC06_024 | 2500 | 1771 | 0 | 2506 | 2667 | 94.0% |
| ov_SC06_025 | 2451 | 1771 | 0 | 2456 | 2572 | 95.5% |
| ov_SC06_027 | 2390 | 1771 | 0 | 2391 | 2408 | 99.3% |
| ov_SC06_029 | 2476 | 1772 | 0 | 2488 | 2662 | 93.5% |
| ov_SC06_030 | 2412 | 1772 | 0 | 2412 | 2456 | 98.2% |
| ov_SC06_032 | 2486 | 1772 | 0 | 2493 | 2658 | 93.8% |
| ov_SC06_033 | 2487 | 1772 | 0 | 2494 | 2631 | 94.8% |
| ov_SC07_000 | 2431 | 1775 | 0 | 2433 | 2521 | 96.5% |
| ov_SC07_001 | 2403 | 1771 | 0 | 2405 | 2454 | 98.0% |
| ov_SC07_002 | 2459 | 1772 | 0 | 2463 | 2579 | 95.5% |
| ov_SC07_006 | 2323 | 1595 | 0 | 2403 | 2455 | 97.9% |
| ov_SC07_007 | 2336 | 1628 | 0 | 2420 | 2612 | 92.6% |
| ov_SC07_008 | 2384 | 1771 | 0 | 2384 | 2386 | 99.9% |
| ov_SC07_009 | 2396 | 1771 | 0 | 2398 | 2430 | 98.7% |
| ov_SC07_010 | 2320 | 1649 | 0 | 2403 | 2523 | 95.2% |
| ov_SC07_011 | 2338 | 1627 | 0 | 2418 | 2448 | 98.8% |