-
-
Notifications
You must be signed in to change notification settings - Fork 482
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
Make "./configure --enable-editable" the default #32406
Comments
comment:1
This would avoid the occasional WTF when one forgets to "make" after editing a file, but I've always thought the separation of source and build trees was one of the things that sage got right. Even with modern python projects, you usually want to byte-compile and/or pip-install after changing anything, so the build step is not unexpected. It is tediously slow, though, for sure. |
Dependencies: #32442 |
comment:2
Thanks for the discussion. I'm actually pretty sure that using It is true that if one just has one "global" environment (and the monolithic nature of the Sage install with hours of compile time tend to lead to that), the isolation of that environment from the source tree is indeed useful. So perhaps we need to wait until venv use becomes more popular in Sage developer circles. #32442 is intended to increase venv awareness. |
comment:5
Remove dependency on #32442, see #29039 comment:163. |
Author: Matthias Koeppe |
Commit: |
This comment has been minimized.
This comment has been minimized.
New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:11
Shouldn't the editable mode be disabled on some ci workflows so that the |
comment:12
The so files are needed at runtime |
comment:13
cc:ing maintainer of the user-facing Docker image |
comment:16
https://groups.google.com/g/sage-devel/c/0GV8_O1VwbI (May 2022) only received positive responses, so let's get this in please |
comment:18
Would it be possible to handle Cython files the same way Python files are handled? Some timings on my creaky old laptop:
So this change does have a cost. Presumably it's not as large a difference on a faster computer. |
comment:19
Replying to @jhpalmieri:
No, they need to be compiled |
comment:20
I'll check where the speed difference is coming from |
comment:21
I can confirm that it is slower with With
|
comment:23
It's faster now |
comment:24
Yes, it is indeed faster, and the timing is not very different whether I change a single file or don't change anything. I feel like, in a perfect world, Sage upon startup would automatically detect if it had to recompile because of a change to a Cython file, and conversely, 'sage -b' would be a no-op if no files had been changed. But if that's possible, it's for another ticket. |
comment:25
We can probably add a check for that to display a hint (in a follow-up ticket), but it would be very nonstandard to recompile automatically. I've added this idea to #31406 |
This comment has been minimized.
This comment has been minimized.
comment:27
I think a recompile hint would be great! How many more eyes do we need on this before a positive review? It feels like a major change, but it also feels like it's a simplification. |
comment:28
It's well tested already, and if anything goes wrong there's the easy recourse of using |
Reviewer: John Palmieri |
comment:29
I'll give it a bit more time in case others want to chime in. If no one responds, I'll set it to positive review later. |
comment:33
Thanks! |
Changed branch from u/mkoeppe/make____configure___enable_editable__the_default to |
…m-url" the default This has been available since 9.3 and may be ready for general consumption See also: sagemath#32406 Make `./configure --enable-editable` the default URL: https://trac.sagemath.org/32390 Reported by: mkoeppe Ticket author(s): Matthias Koeppe Reviewer(s): Dima Pasechnik
This has been available since 9.3, has been improved in 9.4 and in the 9.7 series (#33855), and is ready for general consumption
Introduction:
Discussion:
Depends on #32672
Depends on #33855
Depends on #31049
Depends on #33627
CC: @kliem @dimpase @orlitzky @tobiasdiez @saraedum @kiwifb @jhpalmieri @williamstein @nbruin
Component: build
Author: Matthias Koeppe
Branch/Commit:
a911e0f
Reviewer: John Palmieri
Issue created by migration from https://trac.sagemath.org/ticket/32406
The text was updated successfully, but these errors were encountered: