View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001123 | Xdebug | Uncategorized | public | 2015-03-04 13:10 | 2018-07-17 07:22 |
Reporter | ravage | Assigned To | derick | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Linux 3.13.0-46-generic x86_64 | OS | Ubuntu Server | OS Version | 14.04 |
Product Version | 2.3.1 | ||||
Fixed in Version | 2.4.0beta1 | ||||
Summary | 0001123: With Xdebug 2.3.1, PHPUnit with coverage is exponentially slower than without | ||||
Description | After upgrading to Xdebug 2.3.1, running the unit test suite of an internal project takes exponentially more time with code coverage than without. It's a CakePHP 2.6.x application using PHPUnit 3.7.38 (use of PHPUnit 4.x+ not possible). The suite contains: PHP 5.5.9-1ubuntu4.6 (cli) (built: Feb 13 2015 19:17:11) Expecially integration tests of controllers are way slower than before. Nothing else has been changed except the Xdebug version. Interestingly I have yet not found any reports of 2.3.1 being so slow. | ||||
Steps To Reproduce | Without Code Coverage
| ||||
Additional Information | xdebug Supported protocols Revision Directive Local Value Master Value | ||||
Tags | No tags attached. | ||||
Attached Files | |||||
Operating System | Ubuntu Server 14.04 | ||||
PHP Version | 5.5.5-5.5.9 | ||||
|
I can confirm this. 2.2.7 with coverage: 3 min 45 sec |
|
Same for me, for jenkins jobs, with phpunit 4.6 and php -v: PHP 5.6.8-1~dotdeb+wheezy.1 (cli) (built: Apr 22 2015 04:03:53) I've attached build time trend with coverage enabled. |
|
It is to be expected for the execution to be slower when XDEBUG_CC_BRANCH_CHECK is enabled. But without it the performance of the code coverage data collection with Xdebug 2.2 and 2.3 should be the same. |
|
Just to be clear: this slowdown is with XDEBUG_CC_BRANCH_CHECK disabled (not enabled). |
|
I can confirm the performance problem with 2.3.2, which came with the WPN-XM stack - downgrading to 2.2.7 is my temporary work-around too, it performs normally. |
|
I attached two valgrind/callgrind profiles generated with PHP 5.6.9 and both Xdebug 2.2.7 and 2.3.2. $ git clone https://github.com/sebastianbergmann/money.git |
|
I'm not sure, but I think this line https://github.com/xdebug/xdebug/blob/1eb61105f811d09bc90109c611083ac0fad62dc4/xdebug_code_coverage.c#L108 |
|
Fixed for 2.3.4 (if that gets released) and Xdebug 3.0.0 |
|
It looks like this problem still exists with PHP 7.2.6, XDebug v2.6.0, PHPUnit 7.2.3, and with processIsolation="false" |
Date Modified | Username | Field | Change |
---|---|---|---|
2015-03-04 13:10 | ravage | New Issue | |
2015-03-23 12:57 | Arjen | Note Added: 0003052 | |
2015-04-27 10:57 | gcth | File Added: xdebug-2.3.2-coverage-time.png | |
2015-04-27 10:59 | gcth | Note Added: 0003073 | |
2015-05-27 11:46 | sebastian | Note Added: 0003089 | |
2015-05-27 11:52 | Arjen | Note Added: 0003090 | |
2015-06-04 09:09 | mindplay | Note Added: 0003108 | |
2015-06-04 09:40 | sebastian | File Added: xdebug_227_callgrind.out.12939 | |
2015-06-04 09:40 | sebastian | File Added: xdebug_232_callgrind.out.13320 | |
2015-06-04 09:43 | sebastian | Note Added: 0003109 | |
2015-06-24 13:34 | Arjen | Note Added: 0003128 | |
2015-10-24 23:11 | derick | Note Added: 0003194 | |
2015-10-24 23:11 | derick | Status | new => closed |
2015-10-24 23:11 | derick | Assigned To | => derick |
2015-10-24 23:11 | derick | Resolution | open => fixed |
2015-10-24 23:11 | derick | Fixed in Version | => 2.3.4 |
2015-11-05 15:08 | derick | Fixed in Version | 2.3.4 => 2.4.0beta1 |
2016-07-31 12:36 | derick | Category | Usage problems => Usage problems (Crashes) |
2016-07-31 12:38 | derick | Category | Usage problems (Crashes) => Usage problems (Wrong Results) |
2018-07-17 07:22 | kaplun | Note Added: 0004682 | |
2020-03-12 16:35 | derick | Category | Usage problems (Wrong Results) => Variable Display |
2020-03-12 16:38 | derick | Category | Variable Display => Uncategorized |