For the people who think that's not a great idea, I would say it depend.
You can have a big raid system or a parallel filesystem which will deliver really better performance than one cp process can handle. Then yes, you need to use a "parallel tool".
Let's take this example :
timeout 10 strace -e write -c cp /dev/zero /dev/null
strace: Process 24187 detached
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00 0.655188 4 166222 write
------ ----------- ----------- --------- --------- ----------------
100.00 0.655188 166222 total
then this
timeout 0.01 strace -e write cp /dev/zero /dev/null
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65536) = 65536
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65536) = 65536
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65536) = 65536
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65536) = 65536
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65536) = 65536
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65536) = 65536
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65536) = 65536
strace: Process 24567 detached
so each syscall write made by "cp" in this case is 64KiB and for 10s on my system I am able to deliver this bandwidth :
65536*166222/10 = 1089352499 =~ 1,08GB/s
Now, let's launch this workload with 2 process ( I have 4 core but my desktop is used for other stuff, and here it's just an example ) :
timeout 10 strace -e write -c cp /dev/zero /dev/null & timeout 10 strace -e write -c cp /dev/zero /dev/null & wait
[1] 26106
[2] 26107
strace: Process 26113 detached
strace: Process 26112 detached
% time seconds usecs/call calls errors syscall
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
------ ----------- ----------- --------- --------- ----------------
100.00 0.624108 4 162616 write
100.00 0.638468 4 162451 write
------ ----------- ----------- --------- --------- ----------------
100.00 0.624108 162616 total
100.00 0.638468 162451 total
------ ----------- ----------- --------- --------- ----------------
[1]- Exit 124 timeout 10 strace -e write -c cp /dev/zero /dev/null
So we see we are able to near double the performance using 2 core to launch this.
So if we are in a context different than 1xHard drive to 1xHard drive but a raid array ( or multiple NVMe so not the most common case I agree but I work on this every day ), it show definitely a better performance to use multiple common in parallel.