• Maurits van Rees's avatar
    Check the 'use-dependency-links' option earlier. · 30683a0d
    Maurits van Rees authored
    This can give a small speed increase.
    
    Before this, for each dist we would first check if it had a dependency
    links option, which is almost always the case, but it is usually
    empty: the package *will* have a dependency_links.txt in its EGG-INFO,
    but there is only an empty line in it.
    
    When you have a lot of packages and several buildout parts that use
    them, the dependency links can be checked a lot of times.
    
    On an extended Plone buildout with 'use-dependency-links=false', where
    get_dist was called over 2500 times, the difference was 0.1 seconds,
    so not much.  When I/O is slow, the difference could be more
    noticeable.
    
    Note that actually setting 'use-dependency-links' to false, already
    helps much more.  For this buildout it shaved off 1.5 seconds.
    
    Note that the 0.1 seconds win is because we do not have to call
    'os.exists' for all those files, and the 1.5 seconds win is because we
    do not have to actually read those files.
    
    Also, for completeness sake, note that in this buildout get_dist was
    called lots of times, but the list of dists that we checked for
    dependency links in this method was always just a list of one.  So we
    could have simply switched the order of the three parts of the
    condition around with the same effect (and a smaller diff).  Still,
    the way I did it now seems better.
    
    And I am probably explaining myself much much more than is needed. :-)
    30683a0d
easy_install.py 48.8 KB