cache ParseResult for not calculating twice the same loop
count parameter is not needed anymore in BaseLoop::exec
create cache for BaseLoop::count method
Merge branch 'optim'