Open LonelyCat124 opened 4 years ago
I'm going to look into this now.
I have an initial implementation now, in the timing
branch. I'm currently running the tests to check it doesn't break anything.
Right now it limits parallelism, so its pretty bad. It would be better to move it into the invoke_framework
instead of the neighbour search, and have it at the start and end of the invoke, and the ability to interact with the symbols to reset the start/end if there is a call to something else in the library (e.g. when updating the neighbour search algorithm).
One thing that may be useful to help profile/optimise is timing infrastructure, that can be enabled/disabled through either an input argument or environment variable.