Re: [RFC][DISCUSSION] debug_backtrace alternative as an array of StackFrame objects

From: Date: Wed, 08 Jul 2020 20:20:19 +0000
Subject: Re: [RFC][DISCUSSION] debug_backtrace alternative as an array of StackFrame objects
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-110884@lists.php.net to get a copy of this message
> On Jul 7, 2020, at 4:46 PM, Michał Marcin Brzuchalski <michal.brzuchalski@gmail.com> > wrote: > > Hi internals, > > following recently added alternative to token_get_all() in form > of a > dedicated class PhpToken > I've made a similar proposal for collecting stack traces by introducing > StackFrame::getTrace() > and StackFrame which replaces array with keys and values known > from > debug_backtrace(). > > To compete with easier adoption StackFrame implements > ArrayAccess > giving identical API > to debug_backtrace(). > > A test script with deep recursion up to 1M frames uses 50% less memory than > debug_backtrace(). > > The RFC is described here > https://wiki.php.net/rfc/stack-frame-class > It includes implementation of PoC and tests. > > Cheers, > Michał Marcin Brzuchalski Yes, excited to see this. Would adding a method that allows getting a specific stack frame rather than the entire trace if you know which on you want take up less memory and/or perform better? Something like StackFrame::getFrame(1) which would be functionally equivalent to StackFrame::getTrace()[1]? -Mike

« previous php.internals (#110884) next »