Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Apr 2003 02:39:50 +0300 (EEST)
From:      Narvi <narvi@haldjas.folklore.ee>
To:        Alex Semenyaka <alexs@snark.ratmir.ru>
Cc:        freebsd-current@freebsd.org
Subject:   Re: /bin/sh and 32-bit arithmetics [CORRECTED]
Message-ID:  <20030422023703.G29990-100000@haldjas.folklore.ee>
In-Reply-To: <20030420011039.GC52081@snark.ratmir.ru>

next in thread | previous in thread | raw e-mail | index | archive | help


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
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030422023703.G29990-100000>