[lldb-dev] lldb.frame.EvaluateExpression slows down when called a lot

Scott Knight knightsc at gmail.com
Thu Apr 17 17:22:09 PDT 2014


I attached the instruments trace here in case it might be helpful. Seems
like a lot of time is spent in the ClusterManager. It seems like thats
called from all the ValueObject. I do realize that I'm getting values over
and over again in a loop, but it seems to just take longer each time
through the loop. I also attached the python script I'm using in the zip
file as well.

-Scott


On Thu, Apr 17, 2014 at 7:56 PM, Greg Clayton <gclayton at apple.com> wrote:

> No idea. If you are running this on MacOSX, I would run a time profile in
> instruments on it and see what is going on.
>
> On Apr 17, 2014, at 4:32 PM, Scott Knight <knightsc at gmail.com> wrote:
>
> > Any of idea why making that call over and over again would seem to slow
> down over time?
> >
> > -Scott
> >
> > On Apr 17, 2014 7:29 PM, "Greg Clayton" <gclayton at apple.com> wrote:
> > Yep, it is the python keyword... You currently need to use your
> workaround:
> >
> > rvalue.__getattr__("as")
> >
> > Glad we found it and that there is nothing wrong with the API (we are
> finding children of anonymous unions, phew!).
> >
> > Greg
> >
> > On Apr 17, 2014, at 3:46 PM, Scott Knight <knightsc at gmail.com> wrote:
> >
> > > typedef struct RVALUE {
> > >     union {
> > >       struct {
> > >           VALUE flags;                /* always 0 for freed obj */
> > >           struct RVALUE *next;
> > >       } free;
> > >       struct RBasic  basic;
> > >       struct RObject object;
> > >       struct RClass  klass;
> > >       struct RFloat  flonum;
> > >       struct RString string;
> > >       struct RArray  array;
> > >       struct RRegexp regexp;
> > >       struct RHash   hash;
> > >       struct RData   data;
> > >       struct RTypedData   typeddata;
> > >       struct RStruct rstruct;
> > >       struct RBignum bignum;
> > >       struct RFile   file;
> > >       struct RNode   node;
> > >       struct RMatch  match;
> > >       struct RRational rational;
> > >       struct RComplex complex;
> > >       struct {
> > >           struct RBasic basic;
> > >           VALUE v1;
> > >           VALUE v2;
> > >           VALUE v3;
> > >       } values;
> > >     } as;
> > > #if GC_DEBUG
> > >     const char *file;
> > >     VALUE line;
> > > #endif
> > > } RVALUE;
> > >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20140417/a07a2357/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lldb-cpu-time.zip
Type: application/zip
Size: 4227725 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20140417/a07a2357/attachment.zip>


More information about the lldb-dev mailing list