JuliaPy / PythonCall.jl

Python and Julia in harmony.
https://juliapy.github.io/PythonCall.jl/stable/
MIT License
717 stars 61 forks source link

Fast versions of C functions #418

Open cjdoris opened 7 months ago

cjdoris commented 7 months ago

We can avoid calling C functions in some common cases as an optimisation.

e.g. Py_IncRef_Fast can just increment the refcount.

e.g. Py_DecRef_Fast can just decrement the refcount provided it is >1.

e.g. PyObject_IsInstance_Fast can check if the type is exactly the same for a fast positive. Can use the type flags to get some fast negatives when one side is a builtin type.