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
