March 26, 2026 Claude Pro Evaluation
Just how good is the code that Claude produced? Since it passed Claude’s own unit tests and now has solved a bunch of other puzzles as well, it doesn’t have any obvious bugs.
How about performance?
I’ve run dozens of puzzles through and the code is fast, seriously freaking fast.
Here’s my code, it took 9.441 seconds, since the Griddlers solver rates their puzzles by how long it takes to solve them, this took it a long time as well. Here’s Claude’s terminal log:
mcsandb@Martin-Sandberg-2019-Mac-Pro Debug % time ./ClaudeProNonogram /Users/mcsandb/Documents/workspace/The\ Nonogram\ Project/Documentation/Boards\ with\ XML/Griddler\ 36358\ Boat\ 20\ x\ 20/Griddlers\ 36358\ Boat.xml
Loaded puzzle from: /Users/mcsandb/Documents/workspace/The Nonogram Project/Documentation/Boards with XML/Griddler 36358 Boat 20 x 20/Griddlers 36358 Boat.xml
Puzzle: 20 rows × 20 cols
Solving...
Guess count: 0
|1 |1 |1 |15|2 |2 |2 |2 |2 |2 |2 |2 |2 |2 |2 |2 |2 |2 |1 |2 |
| |2 |1 |3 |1 |1 |1 |2 |2 |2 |2 |2 |2 |2 |2 |2 |2 |2 |2 |2 |
| | |2 | |1 |1 |1 |1 |1 |1 |2 |2 |2 |2 |2 |2 |2 |2 |2 |2 |
| | | | | | | |1 |1 |1 |1 |1 |1 |2 |2 |3 |2 |2 |2 |1 |
| | | | | | | | | | |1 |1 |1 |1 |1 |1 |2 |1 |2 |1 |
| | | | | | | | | | | | | |1 |1 | |2 |2 |1 |2 |
| | | | | | | | | | | | | | | | | | |2 |2 |
--------------------------------------------------------------------------------
| 3 1 1 1 1 2 || | 2| 2| 2| | | | 2| | | 2| | | 2| | | 2| | 2| 2|
--------------------------------------------------------------------------------
| 2 2 2 2 2 1 || | | | 2| 2| | | 2| 2| | 2| 2| | 2| 2| | 2| 2| | 2|
--------------------------------------------------------------------------------
| 3 2 2 2 2 || | | | 2| 2| 2| | | 2| 2| | 2| 2| | 2| 2| | 2| 2| |
--------------------------------------------------------------------------------
| 1 2 2 2 2 2 || | | | 2| | 2| 2| | | 2| 2| | 2| 2| | 2| 2| | 2| 2|
--------------------------------------------------------------------------------
| 1 2 2 2 2 1 || | | | 2| | | 2| 2| | | 2| 2| | 2| 2| | 2| 2| | 2|
--------------------------------------------------------------------------------
| 1 2 2 2 2 || | | | 2| | | | 2| 2| | | 2| 2| | 2| 2| | 2| 2| |
--------------------------------------------------------------------------------
| 1 2 2 2 2 || | | | 2| | | | | 2| 2| | | 2| 2| | 2| 2| | 2| 2|
--------------------------------------------------------------------------------
| 1 2 2 2 1 || | | | 2| | | | | | 2| 2| | | 2| 2| | 2| 2| | 2|
--------------------------------------------------------------------------------
| 1 2 2 2 || | | | 2| | | | | | | 2| 2| | | 2| 2| | 2| 2| |
--------------------------------------------------------------------------------
| 1 2 2 2 || | | | 2| | | | | | | | 2| 2| | | 2| 2| | 2| 2|
--------------------------------------------------------------------------------
| 1 2 2 || | | | 2| | | | | | | | | 2| 2| | | 2| 2| | |
--------------------------------------------------------------------------------
| 1 2 2 || | | | 2| | | | | | | | | | 2| 2| | | 2| 2| |
--------------------------------------------------------------------------------
| 1 2 2 || | | | 2| | | | | | | | | | | 2| 2| | | 2| 2|
--------------------------------------------------------------------------------
| 1 2 || | | | 2| | | | | | | | | | | | 2| 2| | | |
--------------------------------------------------------------------------------
| 20 || 2| 2| 2| 2| 2| 2| 2| 2| 2| 2| 2| 2| 2| 2| 2| 2| 2| 2| 2| 2|
--------------------------------------------------------------------------------
| 1 1 || | 2| | | | | | | | | | | | | | | | | | 2|
--------------------------------------------------------------------------------
| 1 1 || | | 2| | | | | | | | | | | | | | | | 2| |
--------------------------------------------------------------------------------
| 2 2 || | | 2| 2| | | | | | | | | | | | | | 2| 2| |
--------------------------------------------------------------------------------
| 1 2 1 || | | | 2| | | | | | | | | | | | | 2| 2| | 2|
--------------------------------------------------------------------------------
| 14 1 || | | | 2| 2| 2| 2| 2| 2| 2| 2| 2| 2| 2| 2| 2| 2| | | 2|
ASCII view:
.###...#..#..#..#.##
...##..##.##.##.##.#
...###..##.##.##.##.
...#.##..##.##.##.##
...#..##..##.##.##.#
...#...##..##.##.##.
...#....##..##.##.##
...#.....##..##.##.#
...#......##..##.##.
...#.......##..##.##
...#........##..##..
...#.........##..##.
...#..........##..##
...#...........##...
####################
.#.................#
..#...............#.
..##.............##.
...#............##.#
...##############..#
Solved!
./ClaudeProNonogram 0.01s user 0.00s system 94% cpu 0.019 total
mcsandb@Martin-Sandberg-2019-Mac-Pro Debug %
You’re reading that correctly, 18 milliseconds. Claude generated one of the most sophisticated Nonogram solvers I’ve ever heard of. No guesses were required and when that happens, things go fast!
Here’s a really, really tough one:
Solved!
mcsandb@Martin-Sandberg-2019-Mac-Pro Debug % time ./ClaudeProNonogram /Users/mcsandb/Documents/workspace/The\ Nonogram\ Project/Documentation/Boards\ with\ XML/Griddler\ 263025\ Tooth\ Fairy\ -\ hardest\ ever\ 20\ x\ 20/Griddlers\ 263025\ Tooth\ Fairy.xml
Loaded puzzle from: /Users/mcsandb/Documents/workspace/The Nonogram Project/Documentation/Boards with XML/Griddler 263025 Tooth Fairy - hardest ever 20 x 20/Griddlers 263025 Tooth Fairy.xml
Puzzle: 20 rows × 20 cols
Solving...
Guess count: 411106
|2 |3 |5 |7 |6 |2 |2 |6 |3 |3 |1 |1 |1 |4 |1 |1 |1 |1 |1 |2 |
|1 |1 |1 |4 |4 |1 |1 |3 |3 |5 |2 |1 |2 |1 |2 |2 |1 |1 |1 |3 |
| |1 |1 |3 |1 |2 |1 |2 |3 |1 |8 |2 |3 |1 |1 |9 |1 |9 |1 |3 |
| | | | |1 |1 | | | | | |1 |2 |1 |2 | |1 | |1 | |
| | | | |1 | | | | | | |2 |1 |2 | | | | | | |
--------------------------------------------------------------------------
| 1 3 || | | | | | 2| | | | | | 2| 2| 2| | | | | | |
--------------------------------------------------------------------------
| 2 1 1 || | | | | 2| 2| | | | | 2| | | 2| | | | | | |
--------------------------------------------------------------------------
| 1 1 1 || | | | | 2| | | | | 2| | | | 2| | | | | | |
--------------------------------------------------------------------------
| 2 1 1 3 || | | | 2| 2| | | | | 2| | | | 2| | | 2| 2| 2| |
--------------------------------------------------------------------------
| 2 2 1 1 1 || | | | 2| 2| | | | 2| 2| | | 2| | | 2| | | | 2|
--------------------------------------------------------------------------
| 3 1 1 1 2 || | | 2| 2| 2| | | | 2| | | | 2| | 2| | | | 2| 2|
--------------------------------------------------------------------------
| 3 1 2 1 3 || | | 2| 2| 2| | | | 2| | 2| 2| | 2| | 2| 2| 2| | |
--------------------------------------------------------------------------
| 3 1 1 1 2 || | 2| 2| 2| | | | 2| | | 2| | 2| | 2| 2| | | | |
--------------------------------------------------------------------------
| 3 1 1 4 || | 2| 2| 2| | | | 2| | 2| | 2| 2| 2| 2| | | | | |
--------------------------------------------------------------------------
| 4 1 4 || | 2| 2| 2| 2| | | 2| | 2| 2| 2| 2| | | | | | | |
--------------------------------------------------------------------------
| 1 1 4 || 2| | | | 2| | | 2| 2| 2| 2| | | | | | | | | |
--------------------------------------------------------------------------
| 1 7 8 || 2| | | | 2| 2| 2| 2| 2| 2| 2| | 2| 2| 2| 2| 2| 2| 2| 2|
--------------------------------------------------------------------------
| 4 7 1 1 1 || | 2| 2| 2| 2| | 2| 2| 2| 2| 2| 2| 2| | | 2| | 2| | 2|
--------------------------------------------------------------------------
| 1 1 1 1 1 || | | | 2| | | | | | | 2| | | | | 2| | 2| | 2|
--------------------------------------------------------------------------
| 1 2 1 1 1 || | | | 2| | | 2| 2| | | 2| | | | | 2| | 2| | |
--------------------------------------------------------------------------
| 2 1 1 1 1 || | | | 2| 2| | | 2| | | 2| | | | | 2| | 2| | |
--------------------------------------------------------------------------
| 2 1 5 1 3 || 2| 2| | | | 2| | 2| 2| 2| 2| 2| | | | 2| | 2| 2| 2|
--------------------------------------------------------------------------
|4 1 3 1 1 1 || | | 2| 2| 2| 2| | | 2| | | 2| 2| 2| | 2| | 2| | 2|
--------------------------------------------------------------------------
| 1 2 3 1 1 || | | | 2| | | | 2| 2| | | | | 2| 2| 2| | 2| | 2|
--------------------------------------------------------------------------
| 5 4 || | | | 2| 2| 2| 2| 2| | | | | | | 2| 2| 2| 2| | |
ASCII view:
.....#.....###......
....##....#..#......
....#....#...#......
...##....#...#..###.
...##...##..#..#...#
..###...#...#.#...##
..###...#.##.#.###..
.###...#..#.#.##....
.###...#.#.####.....
.####..#.####.......
#...#..####.........
#...#######.########
.####.#######..#.#.#
...#......#....#.#.#
...#..##..#....#.#..
...##..#..#....#.#..
##...#.#####...#.###
..####..#..###.#.#.#
...#...##....###.#.#
...#####......####..
Solved!
./ClaudeProNonogram 350.12s user 0.76s system 99% cpu 5:51.22 total
This one took 411,106 guesses and that’s when things get slow.
Claude’s code will eventually solve any solveable puzzle, since it has a guess and check ability and it searches depth first so it uses very little memory. I’m simply amazed!