<div dir="ltr">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.<div>
<br></div><div>-Scott</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Apr 17, 2014 at 7:56 PM, Greg Clayton <span dir="ltr"><<a href="mailto:gclayton@apple.com" target="_blank">gclayton@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">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.<br>
<br>
On Apr 17, 2014, at 4:32 PM, Scott Knight <<a href="mailto:knightsc@gmail.com">knightsc@gmail.com</a>> wrote:<br>
<br>
> Any of idea why making that call over and over again would seem to slow down over time?<br>
><br>
> -Scott<br>
><br>
> On Apr 17, 2014 7:29 PM, "Greg Clayton" <<a href="mailto:gclayton@apple.com">gclayton@apple.com</a>> wrote:<br>
> Yep, it is the python keyword... You currently need to use your workaround:<br>
><br>
> rvalue.__getattr__("as")<br>
><br>
> Glad we found it and that there is nothing wrong with the API (we are finding children of anonymous unions, phew!).<br>
><br>
> Greg<br>
><br>
> On Apr 17, 2014, at 3:46 PM, Scott Knight <<a href="mailto:knightsc@gmail.com">knightsc@gmail.com</a>> wrote:<br>
><br>
> > typedef struct RVALUE {<br>
> > union {<br>
> > struct {<br>
> > VALUE flags; /* always 0 for freed obj */<br>
> > struct RVALUE *next;<br>
> > } free;<br>
> > struct RBasic basic;<br>
> > struct RObject object;<br>
> > struct RClass klass;<br>
> > struct RFloat flonum;<br>
> > struct RString string;<br>
> > struct RArray array;<br>
> > struct RRegexp regexp;<br>
> > struct RHash hash;<br>
> > struct RData data;<br>
> > struct RTypedData typeddata;<br>
> > struct RStruct rstruct;<br>
> > struct RBignum bignum;<br>
> > struct RFile file;<br>
> > struct RNode node;<br>
> > struct RMatch match;<br>
> > struct RRational rational;<br>
> > struct RComplex complex;<br>
> > struct {<br>
> > struct RBasic basic;<br>
> > VALUE v1;<br>
> > VALUE v2;<br>
> > VALUE v3;<br>
> > } values;<br>
> > } as;<br>
> > #if GC_DEBUG<br>
> > const char *file;<br>
> > VALUE line;<br>
> > #endif<br>
> > } RVALUE;<br>
> ><br>
><br>
<br>
</blockquote></div><br></div>