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
Clean up interface to the PARI library #15185
Comments
comment:1
The |
Branch: u/pbruin/15185 |
Work Issues: wait for #10018 |
Commit: |
This comment has been minimized.
This comment has been minimized.
Author: Peter Bruin |
comment:7
I think this ticket is a typical "patchbomb" which should be avoided. In particular, the replacing of the global variables |
comment:8
Replying to @jdemeyer:
I know. The problem is that when I started this clean-up operation, it wasn't clear what the end result was going to look like. I created this ticket -- and the list of separate issues -- only after reaching a state that worked again, and didn't know about #11868. Cutting it up into separate tickets is easier said than done; it will probably become more manageable by using Git, but it will still take a lot of effort. |
Changed work issues from wait for #10018 to rebase |
This comment has been minimized.
This comment has been minimized.
comment:10
To ease rebasing and reviewing, I recommend you to make this ticket absolutely minimal (only move stuff, nothing else): everything which can be done on a different ticket, should be done so. |
This comment has been minimized.
This comment has been minimized.
comment:13
Are we sure we really want to do this? I'm afraid that performance is going to be worse because Cython has an overhead when calling functions in a different module. |
comment:14
Replying to @jdemeyer:
Is this because the If this is what you mean, could the overhead be avoided by making |
Changed branch from u/pbruin/15185 to u/pbruin/15185-split_up_pari_interface |
Changed work issues from rebase to none |
comment:16
Here is a new branch which moves It is true that the Cython-generated code has some overhead in for the cross-module method calls. I think it is very small, but I will try to do some timings. Depending on the outcome, it might be reasonable to duplicate a small amount of code to avoid these cross-module calls. I think it is better to do that as part of #15461, though. New commits:
|
This comment has been minimized.
This comment has been minimized.
Branch pushed to git repo; I updated commit sha1. New commits:
|
Changed branch from u/pbruin/15185-split_up_pari_interface to u/jdemeyer/ticket/15185 |
Reviewer: Jeroen Demeyer |
comment:19
Additional commit needs review. Apart from this, everything looks fine. New commits:
|
comment:20
I wasn't sure whether |
The file
sage/libs/pari/gen.pyx
is too big and contains too many different things. For clarity and maintainability, it should be split into two parts:gen.pyx
containing the classgen
;pari_instance.pyx
containing the classPariInstance
and some utility functions;More cleaning-up will be done in Clean up interface to the PARI library, II #15461.
Depends on #9640
Depends on #10018
Depends on #11868
Component: interfaces
Keywords: pari
Author: Peter Bruin
Branch/Commit: u/jdemeyer/ticket/15185 @
7ec74e0
Reviewer: Jeroen Demeyer
Issue created by migration from https://trac.sagemath.org/ticket/15185
The text was updated successfully, but these errors were encountered: