View Issue Details

IDProjectCategoryView StatusLast Update
0001752XdebugUncategorizedpublic2020-10-14 15:02
Reporterbarel Assigned Toderick  
Status closedResolutionfixed 
Target Version3.0devFixed in Version3.0.0beta1 
Summary0001752: Use a stack pool to manage stack entries instead of allocating and deallocating entries

The maximum number of stack entries is known as this will be equal to max_nesting_level. And the use of these entries follows a very logical path depending on the stack level. So instead of allocating and deallocating memory every time we enter or leave a function we could allocate a global pool of stack entries and use that. This should improve the performance of Xdebug

Obviously this is only possible if max_nesting_level is not set to -1 or a very large value

Operating System
PHP Version7.4.0-7.4.4



2020-03-02 09:25

reporter   ~0005264

Instead of using a pool, we could use a vector (a dynamically sized array) of stack entries, removing the need for a linked list


2020-08-12 16:14

administrator   ~0005442

I made this change some weeks ago.

Issue History

Date Modified Username Field Change
2020-02-28 08:19 barel New Issue
2020-02-28 08:19 barel Tag Attached: performance
2020-03-02 09:25 barel Note Added: 0005264
2020-03-06 11:54 derick Target Version => 3.0dev
2020-03-06 11:54 derick Assigned To => derick
2020-03-06 11:54 derick Status new => acknowledged
2020-03-12 17:01 derick Category Feature/Change request => Uncategorized
2020-08-12 16:14 derick Status acknowledged => closed
2020-08-12 16:14 derick Resolution open => fixed
2020-08-12 16:14 derick Fixed in Version => 3.0dev
2020-08-12 16:14 derick Note Added: 0005442
2020-10-14 15:02 derick Fixed in Version 3.0dev => 3.0.0beta1