1
0
Fork 0
Commit Graph

7195 Commits (667f1d7815c004b0d50b161fd1582c181435947a)

Author SHA1 Message Date
Nils Adermann 667f1d7815 Merge pull request #6168 from rubenrua/blackfire_phpvigo
Improve memory usage resolving dependencies
2017-02-21 13:53:19 +01:00
rubenrua 8fccbaa4a4 Improve memory usage resolving dependencies II
Optimize `rulesByHash` in `Composer\DependencyResolver\RuleSet` to only
use an array with the second element, event with very low probability.
2017-02-20 18:52:34 +00:00
rubenrua 4e1887a721 Improve memory usage resolving dependencies
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
2017-02-20 18:52:17 +00:00
Jordi Boggiano b3fe9fa1a5 Update example to use psr-4 namespace adding, fixes #6145 2017-02-17 22:17:27 +01:00
Jordi Boggiano 24f330eef4 Merge pull request #6165 from Crizz0/patch-1
Dead link to Mercurial
2017-02-17 21:53:58 +01:00
Christian Schnegelberger 86b2e01a8b Dead link to Mercurial
https://www.mercurial-scm.org/ <-- new one
2017-02-16 18:02:39 +01:00
Jordi Boggiano 363bab90fa Replace toran 2017-02-10 13:32:08 +01:00
Jordi Boggiano 07123715d6 Merge branch '1.3' 2017-01-27 18:44:31 +01:00
Pieter Frenssen 9020b7113c Fix invalid calculation on non-numeric string 2017-01-27 18:44:26 +01:00
Jordi Boggiano 6c51006309 Merge branch '1.3' 2017-01-27 18:35:40 +01:00
Jordi Boggiano 15ff7b96d2 Prep 1.3.2 2017-01-27 18:22:22 +01:00
Jordi Boggiano 20c16f18f5 Merge branch '1.3' 2017-01-27 18:01:50 +01:00
Jordi Boggiano 2931da6a50 Merge remote-tracking branch 'johnstevenson/xdebug-win-opcache' into 1.3 2017-01-27 18:01:41 +01:00
Jordi Boggiano f3d0e4660d Fix urlencoding of gitlab dots, fixes #6064 2017-01-27 18:01:24 +01:00
Jordi Boggiano eb5495b8e4 Merge branch '1.3' 2017-01-22 20:01:35 +01:00
Jordi Boggiano d6ffe1fd1d Add support for outdated command info without ANSI colors, fixes #6070 2017-01-22 20:01:12 +01:00
Jordi Boggiano cf2838131f Merge pull request #6062 from MoT3rror/master
Add ignore filters option to archive command
2017-01-22 19:35:40 +01:00
vlakoff 65a5727315 Do not hide the warning implicitly
Even if COMPOSER_ALLOW_XDEBUG is set,
requires to also set COMPOSER_DISABLE_XDEBUG_WARN to hide the warning.

This undoes commit c5dcedd.
2017-01-22 19:06:50 +01:00
Jordi Boggiano 7aa7c3ced3 Forward composer memory_limit to child processes, fixes #6075 2017-01-22 19:03:22 +01:00
Jordi Boggiano 9a26a9e8f8 Make sure alias packages installed with create-project end up with the correct branch checked out, fixes #6082 2017-01-22 18:44:15 +01:00
Jordi Boggiano e4840ee413 Add a COMPOSER_BINARY env var so that chdir does not affect @composer script resolvability, fixes #6080 2017-01-22 18:26:49 +01:00
Yanick Witschi 0ea93df252 Fixed no lock file was written when setting writeLock to true and executeOperations to false 2017-01-22 17:56:09 +01:00
Ed Reel f29a302391 Return 1 if composer.json exists, but the package doesn't. 2017-01-22 17:47:12 +01:00
Rob 810267e2a7 Merge pull request #6091 from richardbporter/patch-1
Fix grammatical issue in 05-repositories.md
2017-01-22 10:54:49 +01:00
Richard B. Porter 231f56b4ae use 'in the case of' instead of 'in case of' 2017-01-20 13:44:19 -06:00
Rob 64b9423df3 Merge pull request #6084 from tbal/patch-1
Add GitLab as supported downloads source in docs
2017-01-19 13:39:26 +01:00
Jordi Boggiano cab42187d4 Merge pull request #6087 from alcohol/silly-copyright-people
lets avoid silly commits in the future
2017-01-19 12:13:58 +01:00
Rob Bast ed461a8634
lets avoid silly commits in the future 2017-01-19 12:10:26 +01:00
Tilo Baller 89a2e66293 Add GitLab as supported downloads source in docs 2017-01-19 00:12:05 +01:00
Jordi Boggiano 0dd9e3a106 Merge pull request #6083 from wogsland/update-license-to-2017
Update LICENSE to 2017
2017-01-18 08:18:38 +01:00
Bradley Wogsland 153efb29a0 Update LICENSE to 2017 2017-01-17 21:14:34 -06:00
Jordi Boggiano d8d0ee5870 Merge pull request #6061 from svenluijten/unify-command-descriptions
Add full stop to all command descriptions
2017-01-13 10:34:43 +01:00
jbixler dac51c7f4b Add ignore filters option to archive command 2017-01-11 16:21:44 -06:00
Sven Luijten b4a77e1c0e Add full stop to all command descriptions 2017-01-11 23:08:12 +01:00
johnstevenson 9aa213b329 Work-around for Windows opcache bug, fixes #6052 2017-01-11 20:06:57 +00:00
Lauris Binde f9f92dc9d8 Fix Xdebug warning
Composer incorrectly shows Xdebug warning, even if extension is not loaded, but COMPOSER_ALLOW_XDEBUG is present.
2017-01-11 09:45:13 +01:00
Jordi Boggiano b1fee3035f Merge pull request #6058 from laurisb/patch-1
Fix Xdebug warning
2017-01-11 09:44:18 +01:00
Lauris Binde bca51f177e Fix Xdebug warning
Composer incorrectly shows Xdebug warning, even if extension is not loaded, but COMPOSER_ALLOW_XDEBUG is present.
2017-01-11 09:25:25 +02:00
Jordi Boggiano 285ff274ac Merge branch '1.3' 2017-01-07 18:17:36 +01:00
Jordi Boggiano 6a0d5a03d2 Update changelog 2017-01-07 18:08:37 +01:00
Pete Akins 95e9ad57d4 Don’t add github specials if there is no composer data
This can happen if an identifier doesn’t have a composer.json file (but other identifiers do)
2017-01-07 17:58:04 +01:00
Jordi Boggiano 677e75d168 Add phpdoc comment 2017-01-07 17:36:47 +01:00
Felix Becker 5f64cae860 Make PluginManager::addPlugin() public 2017-01-07 17:34:55 +01:00
Jordi Boggiano 452dd4b05e Merge pull request #6037 from johnstevenson/xdebug-logic
Fix scanned ini files logic
2017-01-04 09:32:58 +01:00
johnstevenson d48d11d187 Fix scanned ini files logic 2017-01-03 19:56:16 +00:00
Jordi Boggiano 65aa8451fc Merge pull request #6034 from stof/change_inline_packages
Refactor the validation of inline package definitions
2017-01-03 13:14:04 +01:00
Christophe Coevoet 1cb0ec7911 Resolve references in ComposerSchemaTest 2017-01-03 11:57:35 +01:00
Jordi Boggiano 0b27952dec Fix typo 2017-01-03 11:34:29 +01:00
Christophe Coevoet a012311077 Refactor the validation of inline package definitions
Reusing the root schema was a mistake, because the root schema does
not have the dist and source properties (which are populated by repository
objects).
2017-01-03 11:16:13 +01:00
Jordi Boggiano 550376d649 Merge pull request #6032 from stof/patch-1
Update the branch alias for master
2017-01-03 09:53:07 +01:00