jgraley / inferno-cpp2v

2 stars 0 forks source link

Thoughts on making things faster #267

Closed jgraley closed 2 years ago

jgraley commented 3 years ago

More hinting

This will get fiddly very quickly, and benefits are unclear. For example:

Move star/decision stuff out of StandardAgent's NLQ

Don't repeat Knowledge accesses

Slow steps

jgraley commented 3 years ago

More about search order

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

jgraley commented 3 years ago

Don't retest constraints

Only test constraints that constrain the variable just assigned.

Update: tried this, reduced runtime by about a third

jgraley commented 3 years ago

Regarding search order performance

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.

jgraley commented 2 years ago

Obsolete