-
Notifications
You must be signed in to change notification settings - Fork 189
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
Support run-time interpreter configuration? #528
Comments
The main reason I switched to build-time configuration of libpython was to reduce load time. I used to identify |
Thanks. Reading #167, it looks like the reduction of the time for I'm guessing there are two ways to do it: (1) parametrizing the types and functions by Python versions (and also static or not?); (2) creating sub-modules (e.g., |
It seems like it would be better to just set up a separate depot or similar for pyjulia. |
Yeah, I think you are right. My suggestions would be solved by |
(I'm asking this before seriously reading PyCall.jl since @stevengj or someone else may/can answer it with a simple No. 😁)
Using PyJulia with Julia 1.0 is now very hard especially in Conda and Ubuntu JuliaPy/pyjulia#185. PyJulia needs the "hack" using
Base.DEPOT_PATH
JuliaPy/pyjulia#173 or waits forjulia
core support JuliaLang/julia#28518.If PyCall.jl can support run-time configuration of Python interpreter, it will be much easier since PyJulia can just reuse the same precompilation cache. If it is possible, it is much more appealing to me than implementing a bulky
Base.DEPOT_PATH
hack which would be obsolete oncejulia
core provides more straightforward support.In PyCall.jl, I see there are many
const
andmacro
that depends on the Python interpreter. But is run-time simpleif
branch that costly compared to Python interpreter? Also isn't it possible to embed (a reference to) such information in (say)PyObject
so that no branching would happen after initialization?Or are there other reasons than rum-time speed? Reducing JIT time or something? (Just guessing from #167) Would parametrizing types with Python major version and
precompile
ing for both versions solve it? (Or simply drop Python 2 support?)The text was updated successfully, but these errors were encountered: