Results without background task: 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 16.6606 s, 2.0 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 16.3292 s, 2.1 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 15.9697 s, 2.1 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 7.67322 s, 4.4 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 7.60956 s, 4.4 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 8.25018 s, 4.1 MB/s Results with ping -i.01 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 7.05225 s, 4.8 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 9.83685 s, 3.4 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 8.6886 s, 3.9 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 4.07175 s, 8.2 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.96857 s, 8.5 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.6879 s, 9.1 MB/s PING localhost (127.0.0.1) 56(84) bytes of data. --- localhost ping statistics --- 2391 packets transmitted, 2391 received, 0% packet loss, time 37340ms rtt min/avg/max/mdev = 0.000/0.024/0.091/0.015 ms Results with ping -i.0099 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 3.43036 s, 9.8 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 2.66779 s, 12.6 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 3.08954 s, 10.9 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 2.02618 s, 16.6 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 2.09494 s, 16.0 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 2.03558 s, 16.5 MB/s PING localhost (127.0.0.1) 56(84) bytes of data. --- localhost ping statistics --- 1711 packets transmitted, 1711 received, 0% packet loss, time 15379ms rtt min/avg/max/mdev = 0.000/0.001/0.427/0.012 ms Results with perl busy loop 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 14.1071 s, 2.4 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 3.67322 s, 9.1 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 3.78372 s, 8.9 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.54532 s, 9.5 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.9473 s, 8.5 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.57535 s, 9.4 MB/s ./speedtest.sh: line 29: 1014 Terminated perl -e "while (1) { }" Results with perl usleep(1) 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 6.19705 s, 5.4 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 5.67789 s, 5.9 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 5.75555 s, 5.8 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.7388 s, 9.0 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.43164 s, 9.8 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.44675 s, 9.7 MB/s ./speedtest.sh: line 35: 1022 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, 5.08206 s, 6.6 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 3.72232 s, 9.0 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 4.63824 s, 7.2 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.48764 s, 9.6 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.01147 s, 11.1 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.41049 s, 9.8 MB/s ./speedtest.sh: line 41: 1030 Terminated perl -e "use Thread qw( yield ); while (1) { yield }"