[r-t] Exhausted search spaces
richard at ex-parrot.com
Thu Feb 4 23:52:03 UTC 2010
Ian Broster wrote:
> I take it you are pre-computing at least the graph and the falseness between
> nodes (and not actually doing any transposition/changes during the search)?
Yeah. I make a list of the 120 possible lead heads, and
compute a table of what the next lead head will be for each
type of lead end (plain, bob, single), and which leads are
false against which other leads. That, together with other
overheads of program start-up takes about 5-10ms. From then
on, I only deal with lead ends in this table by index.
> What language did you write your search in? Hand-coded assembler isn't
> normally an order of magnitude faster than the product of a
> good optimising compiler, but remember - this is
> hand-coded assembler produced by MBD. ;-)
It's C++, but the inner loop uses a fairly low-level subset.
It certainly isn't doing anything resource-intensive like
memory allocation, RTTI or exception handling in there.
However, I think I've found the problem. I spent plenty of
time getting a nice fast inner loop and then wrote the
world's slowest piece code for formatting the touch. D'oh.
More information about the ringing-theory