[Haskell-beginners] suggestions for optimizing sudoku solver

Peter Hall peter.hall at memorphic.com
Tue Jan 3 01:09:28 CET 2012


Thanks,

It was really just an exercise that I'd set myself, and I wouldn't buy
a book just for that. But, you're second person to recommend it to me,
and it should have some good insight that will help me think the right
way about other problems, so I've ordered it.

Any other more general comments about my code?

Peter


On Mon, Jan 2, 2012 at 11:01 PM, Michael Serra <mk.serra at gmail.com> wrote:
> This book by Richard Bird covers optimizing a Sudoku solver with equational
> reasoning, along with quite a few other algorithms.
>
> On Sun, Jan 1, 2012 at 9:27 PM, Peter Hall <peter.hall at memorphic.com> wrote:
>>
>> I set myself a learning task of writing a sudoku solver.
>> (https://github.com/peterjoel/sudoku/blob/master/src/Sudoku.hs)
>> It works pretty well, but struggles with some of the harder grids.
>> e.g. data/hard4.txt and data/hard5.txt take around 18 seconds to
>> solve. Obviously there's a limit, but I feel like I should be able to
>> make this faster.
>>
>> I think the main issue is reading/writing to the cells in the grid,
>> since (!!) is O(n). Even though it never has to go beyond index 8, it
>> will add up over the millions of times it has to do it. I imagine it
>> could be a lot faster if I use a static, non-list data structure, but
>> I was hoping to keep it a bit more flexible.
>>
>> Also, I'm struggling to get started with performance profiling. Can
>> someone point me to some good resources?
>>
>> Peter
>>
>> _______________________________________________
>> Beginners mailing list
>> Beginners at haskell.org
>> http://www.haskell.org/mailman/listinfo/beginners
>
>



More information about the Beginners mailing list