been a bit busy this week but I added some more logging where it looks to be spending most of the time for you. Feel free to try it out. @RoChess, you can also try it out as well if you want to compare...it may shed some clues.
When I know exactly where the time is being taken I will try find some time to optimise it...some of this code is very old and has a high risk of regression if I go and change it