I have some code available in some form of AST and I would like to execute it.
I can think of several ways to do this, e.g.:
ast
module) and
compile
that oreval
that.compile
that oreval
that.I guess I would get the fasted execution by translating it into a Python AST, compile
that and run that. Esp. when using PyPy, I might even get improvements by PyPys JIT compiling optimizations (I hope I do, do I?).
Can you think of other possibilities? Can you give suggestions on what might be the best way?
Another possibility: translate to Cython code, write out to a file, compile with Cython then a C compiler with optimization turned on, load the resulting module and execute it.
If the code has type annotations that can be translated to Cython/C types, this can be blazing fast. Watch out, though, as Cython is in beta and still a bit rough around the edges. Also, this solution only works for CPython.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With