loop alternative?

I have a 1-column file with
random numbers. this script runs
to subtract 1 to the number and
written to a file. With over
10,000 lines, it takes >2 minutes
to complete the loop operation.

is there an alternative awk/sed
for looping to reduce the wait?
Thanks!

#!/bin/ksh
for N in `cat oldfile`
do
echo `expr $N- 1` >> newfile
done

Try this:

#! /usr/bin/ksh
exec < inputfile > outputfile
while read n ; do
       ((n=n-1))
       print $n
done
exit 0

worked great!! thanks!