View Issue Details

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

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

Tagsperformance
Operating System
PHP Version7.4.0-7.4.4

Activities

barel

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

derick

2020-08-12 16:14

administrator   ~0005442

I made this change some weeks ago.