Closed jgraley closed 2 years ago
Not sure it helps that much - misses still traverse everything, and elements in containers can be spaced far apart in a depth first walk.
Another possibility: alternating forward/backward ordering whereby if we just did 5, we try 5, 6, 4, 7, 3, 8, 2, 9, 1 for example.
Update: tried forward/backward plus MMAX first, no real speed-up, see comment below
Only test constraints that constrain the variable just assigned.
Update: tried this, reduced runtime by about a third
This made little difference, probably because time taken is dictated by searches that have to run to completion. Even when there is a match, we still have to go to the end before returning. We need reliable reductions in candidate values, so that we can stop when we get to the end of them.
Obsolete
More hinting
This will get fiddly very quickly, and benefits are unclear. For example:
x_seq
needed for the hintMove star/decision stuff out of StandardAgent's NLQ
Don't repeat Knowledge accesses
unordered_map
lookupsSlow steps
#
or#=1
#
,#=1
and SA to include ranges on these