$ curl -O http://www.textfiles.com/etext/FICTION/lesms10.txt
$ curl -O https://raw.githubusercontent.com/marioroy/mce-examples/master/other/wc.pl
$ chmod 755 wc.pl
$ rm -f lesms10_big.txt
$ for i in `seq 1 200`; do cat lesms10.txt >> lesms10_big.txt; done
$ ls -lh lesms10*
-rw-r--r-- 1 pmuser staff 3.1M Nov 13 19:27 lesms10.txt
-rw-r--r-- 1 pmuser staff 623M Nov 13 19:39 lesms10_big.txt
# Read once before testing to be fair for 1st and subsequent wc/wc.pl.
# Sorry, I didn't want to go through the trouble clearing OS cache.
$ cat lesms10_big.txt >/dev/null
####
$ time wc lesms10_big.txt
14152200 113528600 652751200 lesms10_big.txt
real 0m2.132s
user 0m2.076s
sys 0m0.056s
$ time wc < lesms10_big.txt
14152200 113528600 652751200
real 0m2.140s
user 0m2.085s
sys 0m0.055s
##
##
$ time ./wc.pl lesms10_big.txt
14152200 113528600 652751200 lesms10_big.txt
real 0m0.536s (3.98x)
user 0m3.570s
sys 0m0.591s
$ time ./wc.pl < lesms10_big.txt
14152200 113528600 652751200
real 0m0.740s (2.89x)
user 0m3.784s
sys 0m1.166s
##
##
$ time wc -l lesms10_big.txt
14152200 lesms10_big.txt
real 0m0.351s
user 0m0.296s
sys 0m0.055s
$ time ./wc.pl -l lesms10_big.txt
14152200 lesms10_big.txt
real 0m0.208s
user 0m0.678s
sys 0m0.835s
##
##
$ time wc -w lesms10_big.txt
113528600 lesms10_big.txt
real 0m2.125s
user 0m2.071s
sys 0m0.054s
$ time ./wc.pl -w lesms10_big.txt
113528600 lesms10_big.txt
real 0m0.535s
user 0m3.574s
sys 0m0.599s
##
##
$ time wc -c lesms10_big.txt
652751200 lesms10_big.txt
real 0m0.003s
user 0m0.001s
sys 0m0.002s
$ time ./wc.pl -c lesms10_big.txt
652751200 lesms10_big.txt
real 0m0.054s
user 0m0.042s
sys 0m0.010s
##
##
Linux: sudo echo 1 >/proc/sys/vm/drop_caches
macOS: sudo purge
$ time wc lesms10_big.txt
14152200 113528600 652751200 lesms10_big.txt
real 0m2.435s
user 0m2.330s
sys 0m0.098s
Linux: sudo echo 1 >/proc/sys/vm/drop_caches
macOS: sudo purge
$ time ./wc.pl lesms10_big.txt
14152200 113528600 652751200 lesms10_big.txt
real 0m0.662s (3.68x)
user 0m3.598s
sys 0m0.736s