-
-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upload wheels to pypi #298
Comments
This twosigma link is broken for me. Is that a private cache at your company? I'm not an expert with python packaging and releasing on pypi, my first time was when I added the automation to release directly from GH Actions a few months back. I assume adding wheels is not a lot of work, we just need to figure out the extra configuration required for this. |
@eltoder before we plan this work. I took a look at this document that covers sdist vs wheels, and I'm not sure that it would be a big difference in speed in the case of green. https://realpython.com/python-wheels/ From what I read, the reason wheels are faster is that C code is precompiled for the target systems, while sdist are pure source. With green all the code is pure python and since green embraces the KISS principle, it is a rather small package for which generating the pyc files should not be significant. For example the most recent 4.0.2 release has a small 77kB source distribution file: https://pypi.org/project/green/#files Compare that to pytest which has a source package at 1.4MB and a 440kB binary wheel ... this is definitely worth doing there. |
Sorry, fixed the link. It's a significant difference even for pure python packages. pip always installs wheels, so if you don't provide one, it has to build it from source. This always takes more time compared to having a wheel. You can time it yourself:
Compared to
So compared to a wheel, installing from an sdist takes extra ~7.5 seconds (6 times slower). |
Thanks for benchmarking, shaving several seconds and not just a few milliseconds is worth it, especially when a bunch of other things will be installed. We will have to build a new |
As far as I can tell, currently green only uploads sdist to pypi: https://pypi.org/simple/green/
This makes the installation slower, as everyone has to build their own wheels on demand. It will be much faster if green provides the wheels. Since green is pure python, this should be quite easy,
The text was updated successfully, but these errors were encountered: