echo "perl -wnl -E 'say $1 if /\b(\w{5})\b/' 100k-lines.txt" time perl -wnl -E 'say $1 if /\b(\w{5})\b/' 100k-lines.txt 1>/dev/null echo "perl6 -e 'for lines() { say ~$/ if m/<<\w**5>>/ }' 100k-lines.txt" time perl6 -e 'for lines() { say ~$/ if m/<<\w**5>>/ }' 100k-lines.txt 1>/dev/null echo "perl6 -n -e ' say ~$/ if m/<<\w**5>>/' 100k-lines.txt" time perl6 -n -e ' say ~$/ if m/<<\w**5>>/' 100k-lines.txt 1>/dev/null echo "perl6 -n -e ' say ~$/ if .simplematch(/<<\w**5>>/)' 100k-lines.txt" time perl6 -n -e ' say ~$/ if .simplematch(/<<\w**5>>/)' 100k-lines.txt 1>/dev/null # # Typical results # # % sh silly_compare # perl -wnl -E 'say if /\b(\w{5})\b/' 100k-lines.txt # 0.47 real 0.47 user 0.00 sys # perl6 -e 'for lines() { say ~$/ if m/<<\w**5>>/ }' 100k-lines.txt # 16.28 real 16.17 user 0.08 sys # perl6 -n -e ' say ~$/ if m/<<\w**5>>/' 100k-lines.txt # 16.74 real 16.64 user 0.07 sys # perl6 -n -e ' say ~$/ if .simplematch(/<<\w**5>>/)' 100k-lines.txt # 6.79 real 6.69 user 0.08 sys