{"push_id":606336518,"size":1,"distinct_size":1,"ref":"refs/heads/speed_up_filter_install","head":"97a0c94d5dcb7ab3e60828a28189aba7a1f6469a","before":"7dbbc13173d390c6664b24b439e331e6b47407ce","commits":[{"sha":"97a0c94d5dcb7ab3e60828a28189aba7a1f6469a","author":{"email":"d33c80bc45d65303e33ca83108a9952b745af9ef@marc-abramowitz.com","name":"Marc Abramowitz"},"message":"Speed up _filter_install function\n\nThis speeds up the _filter_install function that is used to filter the\noutput of `python setup.py install` when installing packages. It does\nthis by using a single regex which is pre-compiled and thus avoiding a\n`for` loop over 15 different regexes.\n\nBefore:\n\n    $ python\n    Python 2.7.9 (v2.7.9:648dcafa7e5f, Dec 10 2014, 10:10:46)\n    [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin\n    Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n    >>> import timeit\n    >>> timeit.timeit(\"\"\"_filter_install(\"if we've already set distribute as a conflict to setuptools blah blah blah blah\")\"\"\", setup='from pip.req.req_install import InstallRequirement; ir = InstallRequirement(\"foo\", None, None); _filter_install = ir._filter_install')\n    21.220640897750854\n\nAfter:\n\n    $ python\n    Python 2.7.9 (v2.7.9:648dcafa7e5f, Dec 10 2014, 10:10:46)\n    [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin\n    Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n    >>> import timeit\n    >>> timeit.timeit(\"\"\"_filter_install(\"if we've already set distribute as a conflict to setuptools blah blah blah blah\")\"\"\", setup='from pip.req.req_install import InstallRequirement; ir = InstallRequirement(\"foo\", None, None); _filter_install = ir._filter_install')\n    0.9454500675201416","distinct":true,"url":"https://api.github.com/repos/msabramo/pip/commits/97a0c94d5dcb7ab3e60828a28189aba7a1f6469a"}]}