backtrex icon indicating copy to clipboard operation
backtrex copied to clipboard

Optimize the sequential solver

Open jmitchell opened this issue 9 years ago • 1 comments

The existing sequential implementation should be optimized.

Issue #3 considers ways to optimize the search through concurrency, thereby adding the ability to parallelize and distribute work. Regardless of the solution arrived at there, some processes will be doing sequential work. Sequential optimizations will benefit the whole system.

Currently the Sudoku example runs in about 5 seconds on my test VM, but there are several changes that could make it go faster.

There are many approaches. To weigh the trade offs of all of them it would help to implement several provisional Backtrex.Experimental.solve_* entry points and set up benchmarks across all of them. The benchmarks should exercise multiple examples (see #5) and identify bottlenecks both in the solver implementations and the example's callbacks.

jmitchell avatar Jan 15 '17 21:01 jmitchell

Finish #12 (Generate profiling reports) first.

jmitchell avatar Jan 17 '17 18:01 jmitchell