1) Method one
[left]CODE
[tomek@localhost ebooks]$ LEGAL=1 LEGAL_2=1; LEGAL_3=1;
for i in `seq 100000`; do LEGAL=$(( $LEGAL + 1 ));
LEGAL_2=$(( $LEGAL_2 + 1 ));
LEGAL_3=$(( $LEGAL_3 + 1 )); done;
echo legal\'s value is "$LEGAL"
for i in `seq 100000`; do LEGAL=$(( $LEGAL + 1 ));
LEGAL_2=$(( $LEGAL_2 + 1 ));
LEGAL_3=$(( $LEGAL_3 + 1 )); done;
echo legal\'s value is "$LEGAL"
Avarage amount of time that the process took: 9 seconds 29 hundredth.
2) Method two
CODE
[tomek@localhost ebooks]$ LEGAL=1 LEGAL_2=1;LEGAL_3=1;
for i in `seq 100000`; do LEGAL=$[LEGAL + 1];
LEGAL_2=$[LEGAL_2 + 1];
LEGAL_3=$[LEGAL_3 + 1]; done;
echo legal\'s value is "$LEGAL"
for i in `seq 100000`; do LEGAL=$[LEGAL + 1];
LEGAL_2=$[LEGAL_2 + 1];
LEGAL_3=$[LEGAL_3 + 1]; done;
echo legal\'s value is "$LEGAL"
Avarage amount of time that the process took: 6 seconds 99 hundredth.
3) Method three
CODE
[tomek@localhost ebooks]$ LEGAL=1 LEGAL_2=1; LEGAL_3=1;
for i in `seq 100000`; do LEGAL=`echo $LEGAL + 1 | bc`;
LEGAL_2=`echo $LEGAL_2 + 1 | bc`;
LEGAL_3=`echo $LEGAL_3 + 1 | bc`; done;
echo legal\'s value is "$LEGAL"
for i in `seq 100000`; do LEGAL=`echo $LEGAL + 1 | bc`;
LEGAL_2=`echo $LEGAL_2 + 1 | bc`;
LEGAL_3=`echo $LEGAL_3 + 1 | bc`; done;
echo legal\'s value is "$LEGAL"
Avarage amount of time that the process took: 5 000 seconds.
4) Metoda four
CODE
[tomek@localhost ebooks]$ LEGAL=1 LEGAL_2=1; LEGAL_3=1;
for i in `seq 100000`; do LEGAL=`expr $LEGAL + 1`;
LEGAL_2=`expr $LEGAL_2 + 1`;
LEGAL_3=`expr $LEGAL_3 + 1`; done;
echo legal\'s value is "$LEGAL"
for i in `seq 100000`; do LEGAL=`expr $LEGAL + 1`;
LEGAL_2=`expr $LEGAL_2 + 1`;
LEGAL_3=`expr $LEGAL_3 + 1`; done;
echo legal\'s value is "$LEGAL"
Avarage amount of time that the process took: 2 000 seconds.
5) C++ example for comprehension
CODE
#include <iostream>
using namespace std;
int main()
{
float a;
for ( a=1; a <= 10000000; a++ ) { /* 100 x more than in bash !!! */
}
cout << a;
return 0;
}
using namespace std;
int main()
{
float a;
for ( a=1; a <= 10000000; a++ ) { /* 100 x more than in bash !!! */
}
cout << a;
return 0;
}
Avarage amount of time that the process took: not even a second.
Conclusion: The best incrementation method is second method, but compared to hightech programming languages it's still very slow.
Notes: tests were held on Duron 733 Mhz, 128 mb ram, riva tnt 2 32 mb.

