Hi@all
So, dieses Thema ist nicht das wichtigste, aber für mich persönlich im Moment sehr wichtig.
Ich leifere mir im Moment ein "Duell" in C++ mit einem Freund von mir, wer das schnellste Programm schreibt, das irgendwelche Berechnungen macht.
Wir wollen wöchentlich ein neues Duell machen, diese Woche fangen wir leicht an, die Aufgabe lautet:
Wer den Prozessor am schnellsten von 1 bis 1.000.000.000 zählen lässt, hat gewonnen.
Ist relativ simpel, und ich habs auch schnell geschafft. Jedoch liegt die Dauer pro Durchgang noch immer bei ~2500ms...
Ich will aber unbedingt noch die 2000ms Grenze unterschreiten (wenn möglich)...
Ich hab den Quelltext schon gut optimiert, will aber noch das letzte bischen rauskitzeln.
Joa, wie schon gesagt, ich wills schneller machen. Geht da noch irgendwas?
Danke schon mal für eure Antworten
So, dieses Thema ist nicht das wichtigste, aber für mich persönlich im Moment sehr wichtig.
Ich leifere mir im Moment ein "Duell" in C++ mit einem Freund von mir, wer das schnellste Programm schreibt, das irgendwelche Berechnungen macht.

Wir wollen wöchentlich ein neues Duell machen, diese Woche fangen wir leicht an, die Aufgabe lautet:
Wer den Prozessor am schnellsten von 1 bis 1.000.000.000 zählen lässt, hat gewonnen.
Ist relativ simpel, und ich habs auch schnell geschafft. Jedoch liegt die Dauer pro Durchgang noch immer bei ~2500ms...
Ich will aber unbedingt noch die 2000ms Grenze unterschreiten (wenn möglich)...
Ich hab den Quelltext schon gut optimiert, will aber noch das letzte bischen rauskitzeln.
Code:
#include <iostream>
#include <time.h>
#include <windows.h>
#pragma comment(lib, "winmm.lib")
using namespace std;
int main()
{
int m,x,s,e,d;
// m ist die Zahl, wie hoch er raufzählen soll,
// x ist die Zahl die zählt,
// s, e ,d sind für die Zaitmessung (start, ende, dauer)
m=1000000000;
cout << "Es werden alle Zahlen von 1 bis 1.000.000.000 gezaehlt." << endl << endl;
for(int r=0;r<5;r++)
{
x=0;
s=timeGetTime();
do x++; while(x<m);
e=timeGetTime();
d=e-s;
cout << "Durchgang " << r+1 << " Dauer: " << d << "ms" << endl;
}
cout << endl << "<----- ENDE ----->" << endl;
}
Joa, wie schon gesagt, ich wills schneller machen. Geht da noch irgendwas?
Danke schon mal für eure Antworten
