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

Charles R Harris charlesr.harris at gmail.com
Sat Aug 2 11:18:05 EDT 2014


On Fri, Aug 1, 2014 at 10:42 PM, David Cournapeau <cournape at gmail.com>
wrote:

>
>
>
> 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__)
>
>
I was more interested in how you timed it.

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


More information about the NumPy-Discussion mailing list