[Numpy-discussion] Remove numpy/compat/_inspect.py ?

David Cournapeau cournape at gmail.com
Sat Aug 2 00:42:38 EDT 2014


On Sat, Aug 2, 2014 at 11:36 AM, Charles R Harris <charlesr.harris at gmail.com
> wrote:

>
>
>
> On Fri, Aug 1, 2014 at 8:22 PM, David Cournapeau <cournape at gmail.com>
> wrote:
>
>>
>>
>>
>> On Sat, Aug 2, 2014 at 11:17 AM, Charles R Harris <
>> charlesr.harris at gmail.com> wrote:
>>
>>>
>>>
>>>
>>> On Fri, Aug 1, 2014 at 8:01 PM, David Cournapeau <cournape at gmail.com>
>>> wrote:
>>>
>>>> On my machine, if I use inspect instead of _inspect in
>>>> numpy.compat.__init__, the import time increases ~ 25 % (from 82 ms to 99
>>>> ms).
>>>>
>>>> So the hack certainly still make sense, one just need to fix whatever
>>>> needs fixing (I am still not sure what's broken for the very specific
>>>> usecase that code was bundled for).
>>>>
>>>>
>>> I'm not sure a one time hit of 17 ms is worth fighting for ;) The
>>> problems were that both the `string` and `dis` modules were used without
>>> importing them.
>>>
>>
>> Don't fix what ain't broken ;)
>>
>> The 17 ms is not what matters, the % is. People regularly complain about
>> import times, and 25 % increase in import time is significant (the above
>> timing are on my new macbook with SSD and 16 Gb RAM -- figures will easily
>> be 1 order of magnitude worse in common situations with slower computers,
>> slower HDD, NFS, etc...)
>>
>
> Be interesting to compare times. Could you send along the code you used?
> My machine is similar except it is a desktop with 2 SSDs in raid 0.
>

I just hacked numpy.lib.__init__ to use inspect instead of _inspect:

diff --git a/numpy/compat/__init__.py b/numpy/compat/__init__.py
index 5b371f5..57f6d7f 100644
--- a/numpy/compat/__init__.py
+++ b/numpy/compat/__init__.py
@@ -10,11 +10,11 @@ extensions, which may be included for the following
reasons:
 """
 from __future__ import division, absolute_import, print_function

-from . import _inspect
+import inspect as _inspect
 from . import py3k
-from ._inspect import getargspec, formatargspec
+from inspect import getargspec, formatargspec
 from .py3k import *

 __all__ = []
-__all__.extend(_inspect.__all__)
+__all__.extend(["getargspec", "formatargspec"])
 __all__.extend(py3k.__all__)

David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20140802/9d07117a/attachment.html>


More information about the NumPy-Discussion mailing list