There is an expense associated with transactions — they need to be ordered and applied separately. I suspect this naive change will cause disk interrupt issues on large diffs. Did you apply testing to it to make sure it completed in a reasonable amount of time?
Otherwise I would very much prefer to see a config option setting the max number to do at a time and follow that.