In this case, I took larger NX, so as far as compile time is concerned it becomes slower for larger NX (in VS the default stack size is 1 Mb and it extends memory in working units of 64K),This time C and D are best? The ranking looks a bit unpredictable?
I suppose for larger NX, swapping will be less efficient than assignment v2 = v1.
Looking back, option C (std::move_backward()) is a good all-rounder.