-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
GH-40236: [Python][CI] Disable generating C lines in Cython tracebacks #40225
Conversation
@github-actions crossbow submit wheel-windows* |
This comment was marked as outdated.
This comment was marked as outdated.
Surprisingly, this fixes (at least for the time being) the PyArrow compilation time issues. I'll make a proper issue for this and mark the PR ready for review. @raulcd @jorisvandenbossche |
|
1257044
to
d27ff9a
Compare
@github-actions crossbow submit -g wheel -g python |
Revision: d27ff9a Submitted crossbow builds: ursacomputing/crossbow @ actions-e32362e5a6 |
Here's the Cython issue[1] for reference. It looks like we are just removing string data (line number + function name) in traces. The issue states this is good to have in production. Looks like we are just adding too much in once file (hence GH-40166). |
Thanks for looking at this @danepitkin . I'll merge this in the interest of improving PR feedback. |
Nice! Do you actually understand what we "lost" with this change? |
Like you I never saw any C line numbers in Cython-generated tracebacks. It seems that an additional setting is involved, which is off by default, so Cython was really generating unused information. |
…cebacks (apache#40225) ### Rationale for this change We're getting timeouts (on AppVeyor) and very long compilation times (on GHA wheel builds) for `lib.cpp`, a Cython-generated C++ file. Examination suggests that `lib.cpp` is more than 300 thousand lines long, and we can hypothesize that this can blow up available memory on some machines and compilers. ### What changes are included in this PR? Disable a not really useful (and undocumented) Cython feature to make C++ code slightly easier to compile. ### Are these changes tested? Yes. This solves, at least temporarily, the timeout issues on AppVeyor and makes the wheel builds much faster (down to ~35 minutes for the wheel build step, instead of 3 hours). ### Are there any user-facing changes? No. * GitHub Issue: apache#40236 Authored-by: Antoine Pitrou <[email protected]> Signed-off-by: Antoine Pitrou <[email protected]>
…cebacks (apache#40225) ### Rationale for this change We're getting timeouts (on AppVeyor) and very long compilation times (on GHA wheel builds) for `lib.cpp`, a Cython-generated C++ file. Examination suggests that `lib.cpp` is more than 300 thousand lines long, and we can hypothesize that this can blow up available memory on some machines and compilers. ### What changes are included in this PR? Disable a not really useful (and undocumented) Cython feature to make C++ code slightly easier to compile. ### Are these changes tested? Yes. This solves, at least temporarily, the timeout issues on AppVeyor and makes the wheel builds much faster (down to ~35 minutes for the wheel build step, instead of 3 hours). ### Are there any user-facing changes? No. * GitHub Issue: apache#40236 Authored-by: Antoine Pitrou <[email protected]> Signed-off-by: Antoine Pitrou <[email protected]>
Rationale for this change
We're getting timeouts (on AppVeyor) and very long compilation times (on GHA wheel builds) for
lib.cpp
, a Cython-generated C++ file. Examination suggests thatlib.cpp
is more than 300 thousand lines long, and we can hypothesize that this can blow up available memory on some machines and compilers.What changes are included in this PR?
Disable a not really useful (and undocumented) Cython feature to make C++ code slightly easier to compile.
Are these changes tested?
Yes. This solves, at least temporarily, the timeout issues on AppVeyor and makes the wheel builds much faster (down to ~35 minutes for the wheel build step, instead of 3 hours).
Are there any user-facing changes?
No.