= Argument handling strategies
# generate 1k,10k worth of arg data
ruby -e '200.times {|i| puts("%.5d" % i) }' > 1k.txt
ruby -e '2000.times {|i| puts("%.5d" % i) }' > 10k.txt
# check size, bytes should be 1k
cat 1k.txt | tr -d "\n" | wc
# baseline
time tr "\n" " " < 1k.txt # 0.005
ps -l | grep -- $0 | grep -v grep | awk '{print $9}' # 0.015 ~
# strategies
time ./echo_args $(tr "\n" " " < 1k.txt) # 0.028, 828
time ./shift_args $(tr "\n" " " < 1k.txt) # 0.030, 804
time ./set_args $(tr "\n" " " < 1k.txt) # 0.120, 828
time ./append_args $(tr "\n" " " < 1k.txt) # 0.274, 848
time ./parse_args $(tr "\n" " " < 1k.txt) # 0.046, 864
time ./reorder_args $(tr "\n" " " < 1k.txt) # 0.066, 864