-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
[Python] Consider splitting _lib module into several parts #40166
Comments
@AlenkaF @jorisvandenbossche @danepitkin I think this would be worth looking into, in the "quality of life" department. |
(I also posted on the Cython users ML: https://groups.google.com/g/cython-users/c/hr3cFevY46k) |
Note that our Windows wheel builds routinely take 3 hours, and it may very well be because of this: |
This might also be related to the AppVeyor timeouts. |
Related: #40225 |
When it comes to "quality of life" while developing pyarrow locally, I would personally prioritize improving our build system to have proper rebuilds (#36411 (comment)), but of course I am also biased because not using Windows and not seeing this issue locally. And improving build times for Ci is definitely important as well. The previous time we worked on splitting There might also be some smaller things we could already split off that are less controversial / less publicly used (for example |
We should maybe also experiment with ways to do this in a less breaking way. For example, can we still include things in |
I think we should do both :-) |
Related to quality of life on incremental builds: cython/cython#6070 |
Describe the enhancement requested
When reading the logs of a wheel build on Windows I noticed these lines:
Ignoring what the warnings say, what stands out is that the
lib.cpp
generated by Cython has at least 335000 lines. This is huge and can obviously lead to enormous compile times, especially if the RAM is not large enough for the C++ compiler to hold the entire intermediate representation(s) in memory.We should definitely try to split the
_lib
into smaller parts, in order to alleviate this problem.(it is also a Cython problem that so much C++ code is generated, but I'm not sure we can fix that).
Component(s)
Python
The text was updated successfully, but these errors were encountered: