Results without background task: 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 16.0694 s, 2.1 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 17.1571 s, 2.0 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 15.6806 s, 2.1 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 8.00119 s, 4.2 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 8.0155 s, 4.2 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 7.73474 s, 4.3 MB/s Results with ping -i.01 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 8.34949 s, 4.0 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 8.81372 s, 3.8 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 9.22763 s, 3.6 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 4.58713 s, 7.3 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 4.58609 s, 7.3 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 4.42233 s, 7.6 MB/s PING localhost (127.0.0.1) 56(84) bytes of data. --- localhost ping statistics --- 2554 packets transmitted, 2554 received, 0% packet loss, time 39885ms rtt min/avg/max/mdev = 0.000/0.024/0.244/0.017 ms Results with ping -i.0099 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 6.63452 s, 5.1 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 2.108 s, 15.9 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 2.05374 s, 16.3 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 1.80432 s, 18.6 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 1.94958 s, 17.2 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 1.71082 s, 19.6 MB/s PING localhost (127.0.0.1) 56(84) bytes of data. --- localhost ping statistics --- 1812 packets transmitted, 1812 received, 0% packet loss, time 16290ms rtt min/avg/max/mdev = 0.000/0.001/0.213/0.009 ms Results with perl busy loop 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 14.6424 s, 2.3 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 8.465 s, 4.0 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 4.85617 s, 6.9 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.82193 s, 8.8 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.65103 s, 9.2 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.78125 s, 8.9 MB/s ./speedtest.sh: line 29: 798 Terminated perl -e "while (1) { }" Results with perl usleep(1) 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 12.3971 s, 2.7 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 12.0101 s, 2.8 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 13.2711 s, 2.5 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 5.93018 s, 5.7 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 6.29639 s, 5.3 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 6.42145 s, 5.2 MB/s ./speedtest.sh: line 35: 806 Terminated perl -e "use Time::HiRes qw( usleep ); while (1) { usleep(1) }" Results with perl yield 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 7.80725 s, 4.3 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 3.11749 s, 10.8 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 2.46274 s, 13.6 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.18069 s, 10.5 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 2.89471 s, 11.6 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 2.84024 s, 11.8 MB/s ./speedtest.sh: line 41: 814 Terminated perl -e "use Thread qw( yield ); while (1) { yield }"