Right now the .pxd files work, and the Cythonized version is certainly faster than the pure Python code. But I haven't done any optimization for performance.
I bet there are tweaks that could be made to the pxd files, and maybe the Python code, that would make these algorithms significantly faster.
I believe a good place to start would be working with a single problem chain, say Prims for the generator and Backtracking for the solver.
- Make it work
- Make it right
- Make it fast
I believe (1) and (2) above are doing well. Maybe it's time to try (3).
Right now the .pxd files work, and the Cythonized version is certainly faster than the pure Python code. But I haven't done any optimization for performance.
I bet there are tweaks that could be made to the pxd files, and maybe the Python code, that would make these algorithms significantly faster.
I believe a good place to start would be working with a single problem chain, say
Primsfor the generator andBacktrackingfor the solver.I believe (1) and (2) above are doing well. Maybe it's time to try (3).