After I wrote a recursive merge sort,
I reviewed it to ensure it wasn’t doing extra work.
From that perspective, I noticed that for each of the 10 list sorts
my benchmark program made for a given length linked list,
it created a new linked list.
I thought that I could make the overall benchmark run faster
by not creating a new, very large, linked list for every run,
but rather re-using the existing list.
I hoped to have the benchmark program use less time between
the ten measured sort algorithm executions,
not make the sorting faster.
I surprised myself by getting the opposite effect.