On Tuesday, 1 October 2013 18:52:18 UTC+1, F. B. wrote: > > Anyone ever heard of Nuitka? I discovered this project today, and it looks > very promising. >
I've played around with Cython, Nuitka, shedskin etc. I would not recommend Nuitka (see Stefan Behnels blog post on the topic) - furthermore: it produces huge binaries. Based on what I've read lately mypy <http://www.mypy-lang.org/index.html>might be the silver bullet but it's quite new and I haven't found the time to play around with it yet. > > It's a compiler for Python, which basically translates Python to C++ and > then compiles it to machine code. It could be used for translating purposes > as well. > > Unlike other things like that, such as PyPy, Cython, ShedSkin, they aim to > be 100% compatible with CPython syntax. Nuitka does not create its own > implementation of the Python language, rather it uses the ast package. of > CPython to parse code, which could be a strong point to keep compatibility. > > > In Nuitka's TODO list there is an interesting feature: static typing > through decorators, which unlike Cython's *cdef*, do not break CPython > compatibility. Unfortunately it's not yet implemented, but once it will be, > I think the best solution to speed up SymPy would be to clean up Python's > code and put static-variable-decorators. As of now, Python variables are > still translated as PyObject pointers, which shouldn't have great benefits > in term of speed. > > In any case, Nuitka could also be used as a starting translation towards a > C++ implementation of SymPy, or keep development in Python and use it to > generate C++ code. > On the note of de dynamizing the code base it might be worth looking into param: https://github.com/ioam/param http://pyvideo.org/video/1230/param-declarative-programming-using-parameters I've also played around automatic (cython) code generation of decorated classes https://gist.github.com/bjodah/6790854 (requires Py3, cython & mako) but it got cumbersome so I didn't go any further. -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. Visit this group at http://groups.google.com/group/sympy. For more options, visit https://groups.google.com/groups/opt_out.