Fast Sudoku Solver in Haskell #3: Picking the Right Data Structures
- August 13, 2018
- A thirty-four minute read
- 4 comments
In the previous part in this series of posts, we optimized the simple Sudoku solver by implementing a new strategy to prune cells, and were able to achieve a speedup of almost 200x. Afterwards, we profiled the solution and found that there were bottlenecks in the program, leading to a slowdown. In this post, we are going to follow the profiler and use the right Data Structures to improve the solution further and make it faster.