diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-07-20 22:57:01 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-07-20 22:57:01 +0900 |
| commit | 2862d2da275a672f22485f5d1db3550248b20251 (patch) | |
| tree | 5f0664c615f67c097b050ab59fc5a64f1f5b526e /scripts/linters/composer.lock | |
| parent | 77ff62b1e5333cd05b6c405feb2f42d0d8dcfab8 (diff) | |
| download | php-shirabe-2862d2da275a672f22485f5d1db3550248b20251.tar.gz php-shirabe-2862d2da275a672f22485f5d1db3550248b20251.tar.zst php-shirabe-2862d2da275a672f22485f5d1db3550248b20251.zip | |
perf(composer-repository): avoid redundant clones when loading async package metadata
load_async_packages cloned each response's version metadata up to
three times (spec_list/response, response_arr, versions_mixed, then
every per-version field) before building the versions Vec. Move
ownership through pattern matches and IndexMap::shift_remove instead.
Measured with laravel/laravel create-project: per-batch response
processing time in load_async_packages drops ~39% (1.30s -> 0.80s
cumulative), narrowing the E2E gap vs upstream Composer from 1.37s to
1.14s on average.
Diffstat (limited to 'scripts/linters/composer.lock')
0 files changed, 0 insertions, 0 deletions
