-
Notifications
You must be signed in to change notification settings - Fork 271
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
Package Cython-generated *.cpp and *.c files #4701
Comments
Wowza, that is a lot! My understanding -- which may in fact be incorrect -- is that a lot of the code in these is identical between files. For instance,
returns about 1.1M of data over 32000 lines. I believe that if we had these linked into the same object file, it would not. That's ... probably too much of a lift, though. Alternately, I think we would be in the clear if we did not package the generated source in the wheels, but retained it in the source tarballs. |
related:
@matthewturk , what's your rationale for including these files in source dist ? |
Note that, since installing yt requires Cython and Cython builds are deterministic, I don't really see why we would include the generated source files anymore. The only advantage of doing so would be to be able to compile directly the source files without needing Cython, but (a) we're currently not supporting this and (b) if we were to support it, that would make our setup more complex. Is it worth it? |
I also don't think it's worth it. I think those C files were a useful resource some time back, before the build system configuration was standardised (pyproject.toml), but it's most likely useless now that we don't support any version of Python that's older than this spec any more. |
Okay. I thought we still needed to distribute them for some reason, but if
not, then we don't.
…On Wed, Oct 11, 2023, 3:06 AM Clément Robert ***@***.***> wrote:
I also don't think it's worth it. I think those C files were a useful
resource some time back, before the build system configuration was
standardised (pyproject.toml), but it's most likely useless now that we
don't support any version of Python that's older than this spec any more.
—
Reply to this email directly, view it on GitHub
<#4701 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAVXOZZ2DHWNMINBGSJ3JLX6ZHO5ANCNFSM6AAAAAA53AM7TE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
At the moment, we are including both *.cpp and *.c files generated by Cython in the wheels and, subsequently, in the locally-installed directory. That means that, for each .so file we compile, we have a corresponding source file.
While this isn't a problem per se, it inflates quite significantly the space occupied by yt. To give some number for yt 4.0.3, we have 51M of .c files, 23M of .cpp files and 13M of .so files once decompressed.
To measure:
I dug into this because yt's AUR package for Arch Linux ends up installing more than 100M of data, which surprised me!
The text was updated successfully, but these errors were encountered: