|
|
|
|
![]() ![]() |
Aug 11 2005, 05:36 AM
Post
#1
|
|
|
Newbie [ Level 1 ] Group: Members Posts: 9 Joined: 11-August 05 Member No.: 7,762 |
"Speed of various incremetation methods" 1) Method one 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" 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" 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" 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" 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; } 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. [Added 2005-08-11, 07:49:21] |
|
|
|
Aug 12 2005, 06:39 PM
Post
#2
|
|
|
Techno-Necromancer Group: Members Posts: 1,018 Joined: 13-January 05 From: The Net Member No.: 2,127 |
I understand what it is, it is a rundown on various methods of incrementing values and how long they take. It seems to be doing so in batch scripting, perhaps we should ove it there?
~Viz |
|
|
|
Aug 27 2005, 08:31 PM
Post
#3
|
|
|
Way Out Of Control - You need a life :) Group: Members Posts: 1,366 Joined: 14-September 04 From: Nottingham England Member No.: 570 |
The comparason to c++ is not fair.
You will probably find that the c++ compiler is optimising your code, and replacing CODE for ( a=1; a <= 10000000; a++ ) { /* 100 x more than in bash !!! */ } with the following code CODE a=10000000; both pieces of code achieve the same end result. try compiling the the zero optimise flag -O0 |
|
|
|
![]() ![]() |
Similar Topics
|
Lo-Fi Version | Time is now: 13th October 2008 - 05:39 AM |