-Nuke-
Aktives Mitglied
Thread Starter
- Dabei seit
- 13.09.2003
- Beiträge
- 2.146
- Reaktionspunkte
- 15
Hi,
mein Berufsschullehrer hat mich auf eine Idee gebracht. Er meinte in C++ dauern 3 verschachtelte "for"-Schleifen bis 65000 gezählt ein paar Jahre bis sie durchlaufen sind. Er hat uns das auch vorgerechnet.
Naja. Ich habe es mal nach gemacht:
#include <iostream>
int main()
{
for(int i=0;i<=65000;i++)
{
for(int j=0;j<=65000;j++)
{
for(int x=0;x<=65000;x++)
{
};
};
std::cout << i << std::endl;
};
}
OK! Compiliert mit folgendem Befehl:
g++ -o Schleife Schleife.cpp
Ein Durchlauf (bis zum "cout") dauert auf einem G4 mit 1,25Ghz rund 30 Sekunden.
30*65000 = 1950000 Sekunden
Das sind rund 22 Tage.
OK! Compiliert mit folgendem Befehl:
g++ -o Schleife Schleife.cpp -O2 -mcpu=7450 -mtune=7450 -maltivec -mabi=altivec -faltivec -pipe -fsigned-char -mpowerpc-gfxopt
Der Durchlauf dauert jetzt nur noch 6 Sekunden!
6*65000 = 390000
Das sind rund 5 Tage.
Interessant, oder? Optimierung vom Compiler kann schon sehr viel helfen. Sicher ist das Beispiel nicht gerade komplex, aber immerhin ein starker Geschwindigkeitszuwachs.
Wie mein Lehrer auf "Jahre" kommt, kann ich mir nur so erklären das er das Ganze auf nem AthlonXP 1600+ mit nem "Borland C Builder 6"-Compiler getestet hat. Anders kann´s ja nicht sein. Er lobt das Ding ja immer in den Himmel. Naja! GCC scheint da ja fixer zu sein! *ggg*
Na dann! Gute N8!
mein Berufsschullehrer hat mich auf eine Idee gebracht. Er meinte in C++ dauern 3 verschachtelte "for"-Schleifen bis 65000 gezählt ein paar Jahre bis sie durchlaufen sind. Er hat uns das auch vorgerechnet.
Naja. Ich habe es mal nach gemacht:
#include <iostream>
int main()
{
for(int i=0;i<=65000;i++)
{
for(int j=0;j<=65000;j++)
{
for(int x=0;x<=65000;x++)
{
};
};
std::cout << i << std::endl;
};
}
OK! Compiliert mit folgendem Befehl:
g++ -o Schleife Schleife.cpp
Ein Durchlauf (bis zum "cout") dauert auf einem G4 mit 1,25Ghz rund 30 Sekunden.
30*65000 = 1950000 Sekunden
Das sind rund 22 Tage.
OK! Compiliert mit folgendem Befehl:
g++ -o Schleife Schleife.cpp -O2 -mcpu=7450 -mtune=7450 -maltivec -mabi=altivec -faltivec -pipe -fsigned-char -mpowerpc-gfxopt
Der Durchlauf dauert jetzt nur noch 6 Sekunden!
6*65000 = 390000
Das sind rund 5 Tage.
Interessant, oder? Optimierung vom Compiler kann schon sehr viel helfen. Sicher ist das Beispiel nicht gerade komplex, aber immerhin ein starker Geschwindigkeitszuwachs.
Wie mein Lehrer auf "Jahre" kommt, kann ich mir nur so erklären das er das Ganze auf nem AthlonXP 1600+ mit nem "Borland C Builder 6"-Compiler getestet hat. Anders kann´s ja nicht sein. Er lobt das Ding ja immer in den Himmel. Naja! GCC scheint da ja fixer zu sein! *ggg*
Na dann! Gute N8!
Zuletzt bearbeitet: