Added another couple of approaches.
Parallelise existing implementation.
Added modification comment.
Added core weighting to even out workload.
Small arrays break the weighting.