Author malte
Recipients jendrik, malte, silvan
Date 2015-07-26.14:16:46
[Deleted previous message because of wrong link. This one should be correct.]

Experimental results for the difference between v2 and v3 are in:

There is a slight decrease in speed this time (typically around -0.03 on average
in score_total_speed).

My best guess is that this is because TransitionSystem::get_init_distance() and
TransitionSystem::get_goal_distance() cannot be inlined with the current code
(because they defer to the Distances object, and we don't want
transition_system.h to include distances.h if we can avoid it), and hence access
to the distances has become a bit more expensive. We should be able to improve
this again once we've decoupled things further.

My hope is that after the refactoring is complete, code that needs the distances
would be able to ask a Distances object directly rather than asking the
transition system. Then I see no reason why we couldn't be back to the old speed.

If you think it's worth it, I can start a small experiment with a modified
version of v3 that allows inlining again, so that we have some more data on
whether or not this can explain the performance difference.
Date User Action Args
2015-07-26 14:16:46maltesetmessageid: <>
2015-07-26 14:16:46maltesetrecipients: + malte, jendrik, silvan
2015-07-26 14:16:46maltelinkissue561 messages
2015-07-26 14:16:46maltecreate