All right, so today I decided to give myself another Rust challenge: A sudoku solver. This was both so that I would have something a bit more challenging to implement, but also, to try benchmarking and optimizing some Rust code.

To get benchmarking support in cargo, I had to install a nightly build of Rust. Thanks to Multirust, I can now run both stable and nightly, and switch between them at will.

Here's the code I ended up with:

Benchmarking the code gives me:

running 1 test
test tests::bench_solve ... bench:       7,902 ns/iter (+/- 3,596)

test result: ok. 0 passed; 0 failed; 0 ignored; 1 measured

In other words, Rust's performance is really, really good, as expected. Writing the solver was also surprisingly simple. The compiler errors that showed up were reasonably easy to follow, and correct.