Backport #9243 "30-50% re-sync performance regression due to touch() of content and artifacts during sync" to 3.14.z
As this was a significant performance regression introduced by 3.14, we should consider backporting the fixes. This will include  as well which will require a small portion of the refactor introduced here 
Added by dalley about 1 year ago
Use bulk touch() when processing Artifacts and Content
This patch only addresses the inefficiencies of the Stages API. Another patch is needed to address the inefficiency of the repository version modify operation.
(cherry picked from commit 7a41c18b9c2c30ae31c8d248162f42cb6c63c529)