|
Page 2 of 2 Arithmetic Evaluation is faster than let $ i=0; time while :; do let "i = i + 1"; [[ $i -gt 100000 ]] && break;done real 0m8.211s user 0m7.900s sys 0m0.304s $ i=0; time while :; do ((i++)); [[ $i -gt 100000 ]] && break;done
real 0m5.287s user 0m4.980s sys 0m0.304s UPDATE: This appears to still be true, but by a different margin. See comments. List expansion is faster than seq and command substitution (though not always available) $ time for i in $(seq 0 1000000); do :; done
real 0m28.482s user 0m28.066s sys 0m0.412s
$ time for i in {0..1000000}; do :; done
real 0m24.563s user 0m24.402s sys 0m0.156s UPDATE: On BSD systems the apparent seq equivalent (jot) is faster than list expansion. See comments. : is faster than true $ i=0; time while true; do ((i++)); [[ $i -gt 1000000 ]] && break;done
real 0m57.360s user 0m53.967s sys 0m3.392s $ i=0; time while :; do ((i++)); [[ $i -gt 1000000 ]] && break;done
real 0m54.138s user 0m50.571s sys 0m3.560s
|