[r-t] Exhausted search spaces

Richard Smith 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 mailing list