<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Aug 1, 2014 at 8:29 AM, Robert Kern <span dir="ltr"><<a href="mailto:robert.kern@gmail.com" target="_blank">robert.kern@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, Aug 1, 2014 at 3:23 PM, Charles R Harris<br>
<div class=""><<a href="mailto:charlesr.harris@gmail.com">charlesr.harris@gmail.com</a>> wrote:<br>
><br>
> On Fri, Aug 1, 2014 at 7:59 AM, Robert Kern <<a href="mailto:robert.kern@gmail.com">robert.kern@gmail.com</a>> wrote:<br>
>><br>
>> On Fri, Aug 1, 2014 at 2:54 PM, Charles R Harris<br>
>> <<a href="mailto:charlesr.harris@gmail.com">charlesr.harris@gmail.com</a>> wrote:<br>
>><br>
>> > Importing inspect looks to take about  500 ns on my machine. Although It<br>
>> > is<br>
>> > hard to be exact, as I suspect the file is sitting in the file cache.<br>
>> > Would<br>
>> > probably be slower with hard disks.<br>
>><br>
>> Or where site-packages is on NFS.<br>
>><br>
>> > But as the inspect module is already<br>
>> > imported elsewhere, the python interpreter should also have it cached.<br>
>><br>
>> Not on a normal import it's not.<br>
>><br>
>> >>> import numpy<br>
>> >>> import sys<br>
>> >>> sys.modules['inspect']<br>
>> Traceback (most recent call last):<br>
>>   File "<stdin>", line 1, in <module><br>
>> KeyError: 'inspect'<br>
><br>
> There are two lazy imports of inspect.<br>
<br>
</div>Sure, but get_object_signature() is called unlazily when numpy is imported.<br>
<div class=""><br>
>> You should feel free to remove whatever parts of `_inspect` are not<br>
>> being used and to move the parts that are closer to where they are<br>
>> used if you feel compelled to. Please do not replace the current uses<br>
>> of `_inspect` with `inspect`.<br>
><br>
> It is used in just one place.<br>
<br>
</div>So? That one place is always called whenever numpy is imported.<br>
<div class=""><br>
> Is importing inspect so much slower than all<br>
> the other imports we do?<br>
<br>
</div>Yeah, it's pretty bad.<br>
<div class=""><div class="h5"><br></div></div></blockquote><div><br></div><div>The buggy code is for tuple parameter unpacking, a path that is not exercised and a feature not in python 3. So... is it safe to excise that nasty bit of code, or does Enthought make use of the numpy _inspect module?<br>
<br></div><div>The other (fixable) error is in formatargvalues, which is not in __all__ and not used as far as I can tell.<br></div><div><br></div><div>Chuck   </div><br></div></div></div>