You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4e1887a721
It is known that composer update takes a lot of memory: #5915, #5902, I am playing with a profiler (@blackfireio) to make a demo in my local PHP meetup (@phpvigo) and I found out a way to use less memory. These are my first tests: * Private project using PHP 5.6: * Memory: from 1.31GB to 1.07GB * Wall Time: from 2min 8s to 1min 33s * symfony-demo using PHP 7.1 in my old mac book: * Memory: from 667MB to 523MB * Wall Time: from 5min 29s to 5min 28s Not use an array inside conflict rules is this improvement main idea: ```php <?php //Memory 38MB gc_collect_cycles(); gc_disable(); class Rule { public $literals; public function __construct(array $literals) { $this->literals = $literals; } } $rules = array(); $i = 0; while ($i<80000){ // $i++; $array = array(-$i, $i); $rule = new Rule($array); $rules[] = $rule; } ``` ```php <?php //Memory 11.1MB gc_collect_cycles(); gc_disable(); class Rule2Literals { public $literal1; public $literal2; public function __construct($literal1, $literal2) { $this->literal1 = $literal1; $this->literal2 = $literal2; } } $rules = array(); $i = 0; while ($i<80000){ // $i++; $rule = new ConflictRule(-$i, $i); $rules[] = $rule; } ``` More info https://github.com/composer/composer/pull/6168 |
7 years ago | |
---|---|---|
.. | ||
Autoload | 8 years ago | |
Command | 8 years ago | |
Config | 9 years ago | |
Console | 9 years ago | |
DependencyResolver | 7 years ago | |
Downloader | 8 years ago | |
EventDispatcher | 8 years ago | |
Fixtures | 8 years ago | |
IO | 8 years ago | |
Installer | 8 years ago | |
Json | 8 years ago | |
Mock | 8 years ago | |
Package | 8 years ago | |
Plugin | 8 years ago | |
Repository | 8 years ago | |
Util | 8 years ago | |
AllFunctionalTest.php | 8 years ago | |
ApplicationTest.php | 8 years ago | |
CacheTest.php | 9 years ago | |
ComposerTest.php | 11 years ago | |
ConfigTest.php | 8 years ago | |
DefaultConfigTest.php | 9 years ago | |
InstallerTest.php | 8 years ago | |
XdebugHandlerTest.php | 8 years ago |