[rrd-users] Re: Help with Bash script to calc end-time in multiples of 300 ?
Simon Hobson
linux at thehobsons.co.uk
Sun Nov 19 11:40:56 MET 2006
Alex van den Bogaerdt wrote:
> > etime=`date +%s`
>> step=300
>> etime=$(( ${etime} - ( ${etime} % ${step} ) ))
>
>etime=$(( ${etime} / ${step} * ${step} ))
>
>is 10% faster, at least on my system. I tried this by looping 100,000
>times doing those calculations, several runs. Bash uses integer
>calculations, and my sequence saves a calculation internally.
Fair enough.
>Printing the value can be done using perl, but unless you're going to
>use perl for other purposes as well you are better off with gnu-date.
>This runs in 44% of the time needed for starting perl:
>
>/bin/date -d 19700101\ 00:00\ +0000\ ${etime}sec
>
>It means: the unix epoch (19700101 00:00, timezone UTC) and then
>${etime} seconds further in time (so: reverse of date +%s)
Sneeky ! I'd never have thought of that.
--
Unsubscribe mailto:rrd-users-request at list.ee.ethz.ch?subject=unsubscribe
Help mailto:rrd-users-request at list.ee.ethz.ch?subject=help
Archive http://lists.ee.ethz.ch/rrd-users
WebAdmin http://lists.ee.ethz.ch/lsg2.cgi
More information about the rrd-users
mailing list