NAME
problem48-config-alias-mce-benchmark - compare dashboard path aliases with MCE
PURPOSE
Builds a temporary home containing synthetic installed skills, then measures the actual Developer::Dashboard::Config::path_aliases path against an MCE candidate that parallelizes only each skill's layered path_aliases read. Both candidates continue to use the production merge, skill qualification, path expansion, and global/repository config logic. Every sample checks exact canonical JSON parity before reporting timings.
WHY IT EXISTS
Raw JSON microbenchmarks omit dashboard discovery and alias semantics. This tool tests whether MCE helps the real configuration API enough to justify any production design decision. It is a research helper, not a runtime command, and makes no changes to the user's actual dashboard configuration.
WHEN TO USE
Use it for Problem 48 performance research when considering parallel reads of many installed skill configs. Run it inside the isolated project Docker test environment with MCE on PERL5LIB; fixture timings do not represent every dashboard operation or establish a universal speedup.
HOW TO USE
perl script/problem48-config-alias-mce-benchmark --skills 1000 --runs 7 --workers 4
Arguments require positive skill and worker counts, and an odd positive run count. MCE is required only after argument validation and help handling.
WHAT USES IT
The Problem 48 investigation uses its parity-checked measurements to evaluate MCE for the dashboard's real path-alias configuration API. No production code invokes this script.
EXAMPLES
d2 docker compose -p dd-problem48-bench -f /tmp/d2-problem48-bench.yml -f /tmp/d2-problem48-init.yml run --rm bench sh -lc 'export PERL5LIB=/bench-perl/lib/perl5:/bench-perl/lib/perl5/x86_64-linux-gnu-thread-multi:$PERL5LIB; cd /checkout && perl script/problem48-config-alias-mce-benchmark --skills 5000 --runs 7 --workers 4'