1
0
Fork 0
Commit Graph

8020 Commits (6f6d59426d0e1123ff80e98188000a542be5e320)

Author SHA1 Message Date
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
Guillaume ZITTA 2e8d715c2f fix bad visibility 2017-02-14 18:02:22 +01:00
Guillaume ZITTA 98b7bd68b4 fix docstring and useless return 2017-02-14 17:44:56 +01:00
Guillaume ZITTA abf06913a2 remove useless expect (already done by docstring) 2017-02-14 17:37:40 +01:00
Guillaume ZITTA 921ffe741f Cleaner fallback Algorithm 2017-02-13 15:54:55 +01:00
Guillaume ZITTA 211c874b93 split into 2 extract methods 2017-02-13 14:00:48 +01:00
Guillaume ZITTA 374ada6914 useless if, condition il already true 2017-02-13 13:43:36 +01:00
Jordi Boggiano 363bab90fa Replace toran 2017-02-10 13:32:08 +01:00
Stefan Grootscholten 966d0bec10 One more non-camelCase variable. 2017-01-29 15:55:37 +01:00
Stefan Grootscholten 3ccaac619b Refactor the getRepoData method to not throw an Exception 2017-01-29 15:35:50 +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
David Zuelke 17d5f6d88a fix some install msg corner cases
mostly around updates; had to go back to a colon even for 'from cache'
2017-01-27 18:30:00 +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
Stefan Grootscholten 4377ba2bcb Implement changes after review by stof.
- Use camelCase variable names.
- Set 3rd argument of http_build_query
- Remove obsolete checks
2017-01-25 21:18:19 +01:00
David Zuelke 2d36324e99 streamline install progress messages 2017-01-24 20:51:37 +01:00
Kael Shipman 9a755fa7d4 Merge remote-tracking branch 'upstream/master' 2017-01-23 13:07:22 -06:00
Kael Shipman c8c7619a4a Finished reworking docs to clarify points about versioning (fixes #6088) 2017-01-23 13:06:51 -06: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
Stefan Grootscholten 5dbdefdd72 Implement ordering in requesting tags and branches.
Update unit test with latest changes.
2017-01-22 15:55:17 +01:00
Stefan Grootscholten 046b1184dc Change getChangeDate call
Use the v2.0 commit resource instead of the v1.0 changeset resource.
2017-01-22 14:58:35 +01:00
Stefan Grootscholten bea4ec7f88 Some refactoring after testing hg protocol.
- Revert deletion of generateSshUrl() as this is needed when falling back on the GitDriver or HgDriver.
- Implement clean way to fallback from BitbucketDriver to GitDriver or HgDriver after previous changes.
- Implement fallback in HgBitbucketDriver like in GitBitbucketDriver.
2017-01-22 14:35:37 +01:00
Stefan Grootscholten 7ae4ed1ec8 Improve fetching single files via bitbucket API.
The former implementation used the 'src' endpoint which returned some meta data as well.
This has been replaced with the 'raw' endpoint which does not return the meta data and does not need an extra JSON decode step.
2017-01-22 14:35:37 +01:00
Stefan Grootscholten 3eeb6214eb Fix RemoteFilesystem::isPublicBitBucketDownload
The access token was added to requests to third party hosts the bitbucket api is redirecting to.
2017-01-22 14:35:37 +01:00
Stefan Grootscholten d25c483231 Implement Bitbucket API version 2.0 (where applicable). 2017-01-22 14:35:37 +01:00
Stefan Grootscholten b3b05949bb Implement most desirable Authorization method.
As per https://developer.atlassian.com/bitbucket/api/2/reference/meta/authentication#make-requests
adding the OAuth access token in the Authorization header is desired above adding it to the URL.
2017-01-22 14:35:37 +01:00
Stefan Grootscholten 512750a20e Add more tests to cover the new functionality. 2017-01-22 14:35:37 +01:00
Stefan Grootscholten a4af559ca8 Store access-token for re-use
Store the Bitbucket access-token (and the expiration time) so it can be re-used within the time it is valid.
The Bitbucket::requestToken and Bitbucket::getToken now only return the access-token and not all other parameters it receives from the Bitbucket API.
2017-01-22 14:35:37 +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
Kael Shipman a0d2934946 Updated basic usage and versions pages to clarify how versioning and package resolution works (refs #6088) 2017-01-20 11:49:29 -06:00
Kael Shipman 7a9f24b913 Added some useful overview information about repositories in the Basic Usage documentation. 2017-01-19 19:04:24 -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