-
Notifications
You must be signed in to change notification settings - Fork 23
Simplify JuliaInterface_path handling
#1267
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
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1267 +/- ##
=======================================
Coverage 76.71% 76.71%
=======================================
Files 61 61
Lines 4887 4888 +1
=======================================
+ Hits 3749 3750 +1
Misses 1138 1138
🚀 New features to boost your workflow:
|
|
The failures also happened in https://github.com/oscar-system/GAP.jl/actions/runs/18379360854, and thus seem to be independent of the changes here |
|
To be clear: I did not switch to And so yeah, this PR results in worse code being generated, and a measurable drop in performance, e.g. in all calls from Julia into GAP functions. (UPDATE: at least with Julia 1.12.0 on my M1 MacBook Pro) Before this PR: julia> f = GAP.Globals.IsObject;
julia> @b f( (1,2,3) )
66.666 ns (3 allocs: 80 bytes)After this PR: julia> f = GAP.Globals.IsObject;
julia> @b f( (1,2,3) )
90.545 ns (3 allocs: 80 bytes)That's not just a glitch, one can see the difference in the machine code. |
|
OK, maybe there is a glitch in those measurements (I am getting different numbers now -- might be a matter of P vs. E cores). I'll re-run the tests on an AMD Linux machine later. I also have a variant of this PR which just retrieves and stores the function handles explicitly (we only need a tiny handful anyway). |
|
So I did run a slightly different test on two additional machines. The test: I did run this on an AMD Linux machine ("tutulla"), and on an M1 Mac Mini ("munk"). Results (the number in parentheses is the allocation count):
So it now seems this PR makes it faster ! Nice. (I got the "reverse" result on my macBook Pro once again. Does anyone know a way to test if my Julia happens to run in an E core instead of a P core at a given moment, and/or how to prevent that? sigh) |
FWIW, this version will be very similar to codegen (the optimizations may not even be visible to |
Resolves #1266.
@vtjnash could you please have a look if this is what you meant?