aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/lib.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-07-20 23:30:19 +0900
committernsfisis <nsfisis@gmail.com>2026-07-20 23:30:19 +0900
commit641451481bcff596a7db52b5f2bcbeaddbeb1681 (patch)
tree364e24bf182efe755f6ece9278aafc0ac99b578a /crates/shirabe-external-packages/src/lib.rs
parent2862d2da275a672f22485f5d1db3550248b20251 (diff)
downloadphp-shirabe-641451481bcff596a7db52b5f2bcbeaddbeb1681.tar.gz
php-shirabe-641451481bcff596a7db52b5f2bcbeaddbeb1681.tar.zst
php-shirabe-641451481bcff596a7db52b5f2bcbeaddbeb1681.zip
perf(composer-repository): avoid redundant clones when checking security advisories
get_security_advisories cloned each package's full metadata blob (hundreds of versions for popular packages) just to peek at its "security-advisories" field. Same pattern already fixed in load_async_packages by 2862d2da; move ownership through pattern matches and IndexMap::shift_remove instead. Measured with laravel/laravel create-project: response processing in the security-advisories metadata branch drops ~80% (236ms -> 48ms), and the whole run_security_advisory_filter phase drops from ~420-500ms to ~250-270ms. End-to-end, shirabe now matches or edges out upstream Composer (6.57s vs 6.85s in this run) instead of trailing by ~1.2s.
Diffstat (limited to 'crates/shirabe-external-packages/src/lib.rs')
0 files changed, 0 insertions, 0 deletions