diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-07-20 23:30:19 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-07-20 23:30:19 +0900 |
| commit | 641451481bcff596a7db52b5f2bcbeaddbeb1681 (patch) | |
| tree | 364e24bf182efe755f6ece9278aafc0ac99b578a /crates/shirabe/src/package/comparer | |
| parent | 2862d2da275a672f22485f5d1db3550248b20251 (diff) | |
| download | php-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/src/package/comparer')
0 files changed, 0 insertions, 0 deletions
