70% -> 80%!
70% -> 80%!

Instead of rotating the minimum A block into the previous B block, then in a later step copying that A block to the cache or swapping it to buffer2, it's faster to copy the minimum A block directly to the cache or buffer2, block swap part of the previous B block over to where it would be after rotating, then when we go to merge the minimum A block it's already in the cache or buffer2!

That made the performance go from 70% to 75%

I also increased the cache size to 512 (for now) and added a simple test to BlockSwap to make sure we aren't swapping to the same location. That added another 5% to the performance.

This temporarily resulted in some messy code and a duplicate version of Wiki::Merge. This will be cleaned up later.
BonzaiThePenguin/WikiSort,BonzaiThePenguin/WikiSort,BonzaiThePenguin/WikiSort