Results without background task: 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 15.7713 s, 2.1 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 16.032 s, 2.1 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 15.876 s, 2.1 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 7.70432 s, 4.4 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 7.63266 s, 4.4 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 7.83636 s, 4.3 MB/s Results with ping -i.01 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 7.35663 s, 4.6 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 8.03217 s, 4.2 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 8.35263 s, 4.0 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 4.30576 s, 7.8 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.85999 s, 8.7 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 4.03897 s, 8.3 MB/s PING localhost (127.0.0.1) 56(84) bytes of data. --- localhost ping statistics --- 2302 packets transmitted, 2302 received, 0% packet loss, time 35981ms rtt min/avg/max/mdev = 0.000/0.024/0.092/0.014 ms Results with ping -i.0099 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 6.15118 s, 5.5 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 2.45544 s, 13.7 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 2.43237 s, 13.8 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.21442 s, 10.4 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.19476 s, 10.5 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.15018 s, 10.7 MB/s PING localhost (127.0.0.1) 56(84) bytes of data. --- localhost ping statistics --- 2295 packets transmitted, 2295 received, 0% packet loss, time 20636ms rtt min/avg/max/mdev = 0.000/0.001/0.305/0.013 ms Results with perl busy loop 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 7.85727 s, 4.3 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 4.40341 s, 7.6 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 4.01474 s, 8.4 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.4144 s, 9.8 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.6076 s, 9.3 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 3.53394 s, 9.5 MB/s ./speedtest.sh: line 29: 960 Terminated perl -e "while (1) { }" Results with perl usleep(1) 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 11.1628 s, 3.0 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 11.5856 s, 2.9 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 11.4847 s, 2.9 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 6.00812 s, 5.6 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 5.91577 s, 5.7 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 6.14755 s, 5.5 MB/s ./speedtest.sh: line 35: 969 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, 6.90765 s, 4.9 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 5.59323 s, 6.0 MB/s 512+0 records in 512+0 records out 33554432 bytes (34 MB) copied, 3.30676 s, 10.1 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 2.98175 s, 11.3 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 2.75046 s, 12.2 MB/s 32+0 records in 32+0 records out 33554432 bytes (34 MB) copied, 2.69775 s, 12.4 MB/s ./speedtest.sh: line 41: 977 Terminated perl -e "use Thread qw( yield ); while (1) { yield }"