View Issue Details

IDProjectCategoryView StatusLast Update
0001911XdebugUncategorizedpublic2020-12-10 16:29
Reporterkees Assigned Toderick  
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionno change required 
Product Version3.0.1 
Summary0001911: Xdebug performance degradation after upgrade from 2.9.x to 3.0.1
DescriptionRecently we've tried to update xdebug from version 2.9 to 3.0.x, but we noticed a huge slowdown in our symfony cache creation.

With 2.9.9-dev it takes rougly 20s to generate the cache, with the latest master it takes 1m30s.

When i create a callgrind profile i see 268M calls to xdebug_var_export_line, and the application spends 80% of the time in that function. With 2.9 that function is absent.
TagsNo tags attached.
Operating System
PHP Version7.4.10-7.4.19

Activities

kees

2020-12-10 14:56

reporter  

callgrind-xdebug-2.9.out (1,793,508 bytes)

derick

2020-12-10 16:29

administrator   ~0005577

Xdebug 3's develop mode (the default) does a bit more work after some Xdebug 2 settings have been removed and turned on by default to reduce the amount of settings that exist. For example it now always includes argument values to function calls in stack traces (https://xdebug.org/docs/upgrade_guide#removed-xdebug.collect_params).

In your case you likely are not interested in these things, so you can prefix your symfony cache clean command by:

XDEBBUG_MODE=off ...yourcommand...

You should then see that it will run faster than with Xdebug 2.x.

Issue History

Date Modified Username Field Change
2020-12-10 14:56 kees New Issue
2020-12-10 14:56 kees File Added: callgrind-xdebug-2.9.out
2020-12-10 14:56 kees File Added: callgrind-xdebug-3.1.0-dev.out
2020-12-10 16:29 derick Assigned To => derick
2020-12-10 16:29 derick Status new => resolved
2020-12-10 16:29 derick Resolution open => no change required
2020-12-10 16:29 derick Note Added: 0005577
2020-12-10 16:29 derick Summary Xdebug performance degradation after upgrade from 2.9.x to 3.1.x => Xdebug performance degradation after upgrade from 2.9.x to 3.0.1