/bin/sh and 32-bit arithmetics [CORRECTED]
Narvi
narvi at haldjas.folklore.ee
Mon Apr 21 16:39:54 PDT 2003
On Sun, 20 Apr 2003, Alex Semenyaka wrote:
> 7 5.20 6.37 3.51 22.50% i=$(($i<<1))
> 8 5.25 6.42 3.51 22.27% i=$(($i<<$m))
>
> As you can see, even for arithmetic-only script the overhead is not too big
> except with one case: shift operation. I decided to investigate is it usual
> script operation. I've went through all scripts I could find in my FreeBSD
> box. I've searched them with "locate .sh | grep '\.sh$'". There were a lot
> of them:
>
> $ locate .sh | grep '\.sh$' | wc -l
> 1637
>
> But there was no any script that uses the shift operation. Good, but not
> enough. I've take the script that uses arithmetics and do some other job,
> ttfadmin.sh from the Abiword package. I've run in 10000 times in the loop
> with both (64-bit and 32-bit) shells. As an argument it received empty
> directory so no work has been done, just run, check pars, found no files,
> exit. It takes 65.35 seconds in the first case and 65.30 second in the second
> one. So the the time that arithmetics takes during the real script execution
> is too small in comparison to total running time (obviously: arithmetics
> is in-core calculations while any script usually run some external programs
> etc, and at least I/O is involved).
Ahem - wouldn't it be easier to find out *why* the dramatic speed-down
happens and trying to combat it as opposed to trying to show the
speed-down is not releavant? There shouldn't be anything inherently that
much slower in 64 bit shifts...
>
> Thanks!
>
> SY, Alex
>
More information about the freebsd-hackers
mailing list