Extended to allow both destructive & non-destructive sort.  Halved cacheSize to allow both src and dst arrays to fit in the cache.