On Tuesday 28 September 2010 23:49:27 Edward K. Ream wrote:
> On Tue, Sep 28, 2010 at 3:46 AM, Emile Anclin <[email protected]> 
wrote:
> > Usually, pylint / astng will have to parse most of the Python
> > Standard Library (which is around 20 Mb) on any bigger project (such
> > as a framework); plus the site-packages on my current workstation are
> > around 100 Mb. (rough estimations based on 'du' and considering that
> > the size of .pyc files are similar to the .py)
> >
> > Given that, I am afraid we will have ~ 400 Mb for the only astng
> > dumbs. So that seems to be the wrong road...
> >
> > Edward K Ream, did you have other ideas in mind to handle the problem
> > ?
>
> I've forgotten much of the previous discussion, but as I have often
> said before, forgetting can be a *good* thing when inventing.  Of
> course, one must be prepared to say nonsense from time to time as the
> result :-)
>
> With that in mind, my idea is that the Python Standard Library would
> best be viewed as a source of information, a *known quantity*.  We
> want to cache just that known quantity, in the form best suited for
> the rest of pylint/inc-lint.  It doesn't much matter how long it takes
> to create this known quantity: it can be done once per "installation",
> whatever that means.
>
Ok, we could imagine generating the data system wide, with a hook for 
installation or update of new packages, like for site-packages.
This way, maybe we don't bother too much about 400 Mb if we intend to
use pylint a lot.

> In other words, inc-lint won't be  trying to deduce the types of the
> objects in the standard library, we assume that the library isn't
> going to change.  In fact, we might issue a warning if some other
> module implies a change to the library :-)

Probably it is bad, but it happened for a long time in astng and
logilab-common (I don't know if it is still the case concerning
our testlib vs unittest ...) ;
isn't it a common practice to monkeypatch or modify the library ?
what is also a common practice, is to add objects to __builtin__ / 
builtins.  so ...

> Because the types of the objects in the library can be assumed to be
> immutable,

Can we assume that ? 
how would we deal with modifying modules in our cached data base ?


-- 

Emile Anclin <[email protected]>
http://www.logilab.fr/   http://www.logilab.org/ 
Informatique scientifique & et gestion de connaissances
_______________________________________________
Python-Projects mailing list
[email protected]
http://lists.logilab.org/mailman/listinfo/python-projects

Reply via email to