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