<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Benchmark-Funktion akzeptabel?]]></title><description><![CDATA[<p>ntag,</p>
<p>mein kleines [url=&quot;<a href="http://www.forum-3dcenter.de/vbulletin/showthread.php?t=271818" rel="nofollow">http://www.forum-3dcenter.de/vbulletin/showthread.php?t=271818</a>&quot;]Programm[/url] liefert nicht die erwarteten Benchmark-Ergebnisse. Daher hier mal ein Code-Auszug. Ist sowas überhaupt geeignet um die Leistungsfähigkeit von Prozessoren grob zu vergleichen?</p>
<pre><code>#include &lt;time.h&gt;
#include &lt;iostream.h&gt;
#include &lt;conio.h&gt;

long MISCHergebnis;
short startMISCH=0, endMISCH=0, MISCHzeit;

void main()
{

//strartzeit nehmen
startMISCH = clock();

//1000000x durchlaufen
for (long MISCHcounter=0;MISCHcounter&lt;1000000;MISCHcounter++)
{
//und Zufallszahlen in allen Möglichen Formen miteinenader verrechnen
srand (time(NULL));
MISCHergebnis=tan(rand()%215)+rand()%144-rand()%79*rand()%31/((rand()%4)+1)-sqrt(rand()%5)-(rand()%5)%6;
}

//Endzeit nehmen
endMISCH=clock();

MISCHzeit = endMISCH-startMISCH;

cout &lt;&lt; MISCHzeit;

getch();
}
</code></pre>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/132567/benchmark-funktion-akzeptabel</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 15:12:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/132567.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 11 Jan 2006 19:30:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Benchmark-Funktion akzeptabel? on Wed, 11 Jan 2006 19:30:21 GMT]]></title><description><![CDATA[<p>ntag,</p>
<p>mein kleines [url=&quot;<a href="http://www.forum-3dcenter.de/vbulletin/showthread.php?t=271818" rel="nofollow">http://www.forum-3dcenter.de/vbulletin/showthread.php?t=271818</a>&quot;]Programm[/url] liefert nicht die erwarteten Benchmark-Ergebnisse. Daher hier mal ein Code-Auszug. Ist sowas überhaupt geeignet um die Leistungsfähigkeit von Prozessoren grob zu vergleichen?</p>
<pre><code>#include &lt;time.h&gt;
#include &lt;iostream.h&gt;
#include &lt;conio.h&gt;

long MISCHergebnis;
short startMISCH=0, endMISCH=0, MISCHzeit;

void main()
{

//strartzeit nehmen
startMISCH = clock();

//1000000x durchlaufen
for (long MISCHcounter=0;MISCHcounter&lt;1000000;MISCHcounter++)
{
//und Zufallszahlen in allen Möglichen Formen miteinenader verrechnen
srand (time(NULL));
MISCHergebnis=tan(rand()%215)+rand()%144-rand()%79*rand()%31/((rand()%4)+1)-sqrt(rand()%5)-(rand()%5)%6;
}

//Endzeit nehmen
endMISCH=clock();

MISCHzeit = endMISCH-startMISCH;

cout &lt;&lt; MISCHzeit;

getch();
}
</code></pre>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/963980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/963980</guid><dc:creator><![CDATA[dav133]]></dc:creator><pubDate>Wed, 11 Jan 2006 19:30:21 GMT</pubDate></item><item><title><![CDATA[Reply to Benchmark-Funktion akzeptabel? on Wed, 11 Jan 2006 20:21:27 GMT]]></title><description><![CDATA[<p>Nein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/964019</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/964019</guid><dc:creator><![CDATA[klare Antwort:]]></dc:creator><pubDate>Wed, 11 Jan 2006 20:21:27 GMT</pubDate></item><item><title><![CDATA[Reply to Benchmark-Funktion akzeptabel? on Wed, 11 Jan 2006 20:24:02 GMT]]></title><description><![CDATA[<p>Benutze die cpp Tags, dann ist das ganze schön bunt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<pre><code class="language-cpp">#include &lt;time.h&gt;
#include &lt;iostream.h&gt;
#include &lt;conio.h&gt;

long MISCHergebnis;
short startMISCH=0, endMISCH=0, MISCHzeit;

void main()
{

//strartzeit nehmen
startMISCH = clock();

//1000000x durchlaufen
for (long MISCHcounter=0;MISCHcounter&lt;1000000;MISCHcounter++)
{
//und Zufallszahlen in allen Möglichen Formen miteinenader verrechnen
srand (time(NULL));
MISCHergebnis=tan(rand()%215)+rand()%144-rand()%79*rand()%31/((rand()%4)+1)-sqrt(rand()%5)-(rand()%5)%6;
}

//Endzeit nehmen
endMISCH=clock();

MISCHzeit = endMISCH-startMISCH;

cout &lt;&lt; MISCHzeit;

getch();
}
</code></pre>
<p>Das srand(time(NULL)); sollte nur einmal aufgerufen werden und nicht vor jedem rand. Am besten ganz an den Anfang der main und dann nie wieder.</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/964025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/964025</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Wed, 11 Jan 2006 20:24:02 GMT</pubDate></item><item><title><![CDATA[Reply to Benchmark-Funktion akzeptabel? on Thu, 12 Jan 2006 12:39:23 GMT]]></title><description><![CDATA[<p>klare Antwort: schrieb:</p>
<blockquote>
<p>Nein.</p>
</blockquote>
<p>Hey cool, danke *kopfschüttel*</p>
<p>joomoo schrieb:</p>
<blockquote>
<p>Das srand(time(NULL)); sollte nur einmal aufgerufen werden und nicht vor jedem rand. Am besten ganz an den Anfang der main und dann nie wieder.</p>
<p>mfg.</p>
</blockquote>
<p>Das würde dann bedeuten, dass ich mit ein und demselben Zufallswert 1million mal das gleiche mache =&gt; sinnlos.</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/964485</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/964485</guid><dc:creator><![CDATA[dav133]]></dc:creator><pubDate>Thu, 12 Jan 2006 12:39:23 GMT</pubDate></item><item><title><![CDATA[Reply to Benchmark-Funktion akzeptabel? on Thu, 12 Jan 2006 12:43:47 GMT]]></title><description><![CDATA[<p>dav133 schrieb:</p>
<blockquote>
<p>klare Antwort: schrieb:</p>
<blockquote>
<p>Nein.</p>
</blockquote>
<p>Hey cool, danke *kopfschüttel*</p>
<p>joomoo schrieb:</p>
<blockquote>
<p>Das srand(time(NULL)); sollte nur einmal aufgerufen werden und nicht vor jedem rand. Am besten ganz an den Anfang der main und dann nie wieder.</p>
<p>mfg.</p>
</blockquote>
<p>Das würde dann bedeuten, dass ich mit ein und demselben Zufallswert 1million mal das gleiche mache =&gt; sinnlos.</p>
<p>lg</p>
</blockquote>
<p>Nein, das machst du derzeit so, da time nur sekunden-genau ist und die schleife mehrfach pro sekunde durchläuft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/964491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/964491</guid><dc:creator><![CDATA[Lololol]]></dc:creator><pubDate>Thu, 12 Jan 2006 12:43:47 GMT</pubDate></item><item><title><![CDATA[Reply to Benchmark-Funktion akzeptabel? on Fri, 13 Jan 2006 08:01:27 GMT]]></title><description><![CDATA[<p>dav133 schrieb:</p>
<blockquote>
<p>joomoo schrieb:</p>
<blockquote>
<p>Das srand(time(NULL)); sollte nur einmal aufgerufen werden und nicht vor jedem rand. Am besten ganz an den Anfang der main und dann nie wieder.</p>
<p>mfg.</p>
</blockquote>
<p>Das würde dann bedeuten, dass ich mit ein und demselben Zufallswert 1million mal das gleiche mache =&gt; sinnlos.</p>
<p>lg</p>
</blockquote>
<p>Nein, das bedeutet es nicht - srand() initialisiert den Zufallszahlen-Generator auf einen Startwert, von dem aus er bei jedem Aufruf von rand() eine neue Zufallszahl erzeugt:</p>
<pre><code>static int rseed;

void srand(int st)
{
  rseed = st;
}

int rand()
{
  rseed = random_fkt(rseed);
  return rseed;
}
</code></pre>
<p>Wenn du vor jedem rand()-Aufruf srand neu aufrufst, wird der Startwert immer wieder auf den selben Wert zurückgesetzt - DADURCH erzeugst du jedes Mal die selbe Zufallszahl.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965162</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 13 Jan 2006 08:01:27 GMT</pubDate></item><item><title><![CDATA[Reply to Benchmark-Funktion akzeptabel? on Fri, 13 Jan 2006 09:00:22 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>um mal zu der eigentlichen Frage zurückzukommen.<br />
Es gibt ja viele Benchmarks. Wenn dich eher die CPU nur interessiert bzw. die<br />
FPU in der CPU (Floting Point Unit) kannst Du das machen wie beschrieben.<br />
Interessiert dich aber z.B. der Speicherbus und der Arbeitsspeicher, was ja für viele Programme nicht minder von Bedeutung ist, dann musst Du z.B. einen grossen Vektor erzeugen length~10.000.000 der hat dann als double ca. 80MB Größe.<br />
Auf diesem Vektor kannst Du dann irgendwelche Operationen machen, nur sollten die wiederum nicht auf der FPU hängen. Wichtig ist immer die Frage was ist der Flaschenhals im System. Das ist was Du grad testest.</p>
<p>Das sind mal meine Gedanken zu dem Thema, zweifelsohne kann man das alles viel besser machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965209</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965209</guid><dc:creator><![CDATA[cris492]]></dc:creator><pubDate>Fri, 13 Jan 2006 09:00:22 GMT</pubDate></item><item><title><![CDATA[Reply to Benchmark-Funktion akzeptabel? on Fri, 13 Jan 2006 16:27:31 GMT]]></title><description><![CDATA[<p>Hmm, danke :).</p>
<p>Da hab ich nur das Problem: Welche Variable frisst millionen von Stellen? Gleiches PRoblem hab ich grad mit der Fakultät. 100! wird doch schon sehr groß. Es muss doch mögklichkeiten geben, diese sehr Rechenintensive Opereationen auch für Zahlen wie zb 100000 möglich zu machen, oder?</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965810</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965810</guid><dc:creator><![CDATA[dav133]]></dc:creator><pubDate>Fri, 13 Jan 2006 16:27:31 GMT</pubDate></item><item><title><![CDATA[Reply to Benchmark-Funktion akzeptabel? on Fri, 13 Jan 2006 16:43:19 GMT]]></title><description><![CDATA[<p>Es geht nicht um die mathematische Größe der Zahl oder besser gesagt um ihren Betrag sondern um die Größe der Variable.<br />
wenn du:</p>
<pre><code class="language-cpp">long int dim = 10000000;
array = new double[dim];
for (long int i=0; i&lt;dim; ++i){
   array[i] = 1/ (double)i;
}
</code></pre>
<p>Dauert das schon einen Augenblick, da im Speicher 10mio. Variablen liegen, ca 80MB.<br />
Wenn Du das noch mal in eine Schleife einpackst kannst Du die Laufzeit so erhöhen wie es Dir gefällt. Dann kannst Du dim erhöhen bis dein Rechner anfängt zu swapen.</p>
<p>mfG cris492</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965822</guid><dc:creator><![CDATA[cris492]]></dc:creator><pubDate>Fri, 13 Jan 2006 16:43:19 GMT</pubDate></item></channel></rss>