Playing around with the original project using other approaches. Note that the timing is fairly accurate, but would be better using the timer functions in an add-on that can't be named. By unbatching the operations, we get a significant improvement. The original approach is nice, but over-engineering makes it slower than not batching.