<?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[Wie Geschwindigkeits-Tests durchführen?]]></title><description><![CDATA[<p>Ich möchte verschiedene Algorithmen auf ihre Geschwindigkeit hin testen, allerdings sind die Zeitdifferenzen teilweise sehr klein oder es gibt Ausreißer bei den Werten.</p>
<p>Also wie misst man den jetzt richtig? Sollte die Funktion/der Algorithmus eine Zeit lang laufen und die Anzahl der Aufrufe gezählt werden oder umgekehrt (bestimmte Zahl Aufrufe, Zeit messen). Wie lang/oft?<br />
Und wie sollte man mit gleichzeitig laufenenden Programmen verfahren (insbesondere unter Linux)?</p>
<p>PS: Ich teste Intel-Prozessorbefehle, sprich Assembler, weshalb die Ergebnisse recht präzise sein sollten.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/153070/wie-geschwindigkeits-tests-durchführen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Jul 2026 19:05:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/153070.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 12 Jul 2006 14:06:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie Geschwindigkeits-Tests durchführen? on Wed, 12 Jul 2006 14:06:09 GMT]]></title><description><![CDATA[<p>Ich möchte verschiedene Algorithmen auf ihre Geschwindigkeit hin testen, allerdings sind die Zeitdifferenzen teilweise sehr klein oder es gibt Ausreißer bei den Werten.</p>
<p>Also wie misst man den jetzt richtig? Sollte die Funktion/der Algorithmus eine Zeit lang laufen und die Anzahl der Aufrufe gezählt werden oder umgekehrt (bestimmte Zahl Aufrufe, Zeit messen). Wie lang/oft?<br />
Und wie sollte man mit gleichzeitig laufenenden Programmen verfahren (insbesondere unter Linux)?</p>
<p>PS: Ich teste Intel-Prozessorbefehle, sprich Assembler, weshalb die Ergebnisse recht präzise sein sollten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1096496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1096496</guid><dc:creator><![CDATA[terraner]]></dc:creator><pubDate>Wed, 12 Jul 2006 14:06:09 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Geschwindigkeits-Tests durchführen? on Wed, 12 Jul 2006 14:31:18 GMT]]></title><description><![CDATA[<p>rdtsc</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1096514</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1096514</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Wed, 12 Jul 2006 14:31:18 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Geschwindigkeits-Tests durchführen? on Wed, 12 Jul 2006 16:07:02 GMT]]></title><description><![CDATA[<p>vielleicht reicht ja time aus ( &quot;time programm&quot; -&gt; zeigt die laufzeit eines progis an)</p>
<p>ein paar mal laufen lassen und dann den durchschnittswert nehmen..<br />
am besten noch x usw toeten, damit weniger anwendungen die ergebnisse beeinflussen..<br />
wenn du dann noch große beispiele verwendest (so dass das prog ein paar minuten rechnet), dann waere das schon ziemlich genau..</p>
<p>mfg aman..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1096579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1096579</guid><dc:creator><![CDATA[aMan]]></dc:creator><pubDate>Wed, 12 Jul 2006 16:07:02 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Geschwindigkeits-Tests durchführen? on Wed, 12 Jul 2006 16:21:01 GMT]]></title><description><![CDATA[<p>terraner schrieb:</p>
<blockquote>
<p>PS: Ich teste Intel-Prozessorbefehle, sprich Assembler, weshalb die Ergebnisse recht präzise sein sollten.</p>
</blockquote>
<p>sämtliche interrupts disablen, vor und nach dem asm-code i/o ports togglen und die impulse mit 'nem oszilloskop messen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1096590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1096590</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Wed, 12 Jul 2006 16:21:01 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Geschwindigkeits-Tests durchführen? on Wed, 12 Jul 2006 17:12:48 GMT]]></title><description><![CDATA[<p>Wenns präzise sein soll,<br />
kann man die Effizienz von Algorithmen auch BERECHNEN.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1096624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1096624</guid><dc:creator><![CDATA[MisterX]]></dc:creator><pubDate>Wed, 12 Jul 2006 17:12:48 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Geschwindigkeits-Tests durchführen? on Thu, 13 Jul 2006 14:51:51 GMT]]></title><description><![CDATA[<blockquote>
<p>vielleicht reicht ja time aus ( &quot;time programm&quot; -&gt; zeigt die laufzeit eines progis an)</p>
</blockquote>
<p>Ich habe schon clock() genommen.</p>
<blockquote>
<p>ein paar mal laufen lassen und dann den durchschnittswert nehmen..<br />
am besten noch x usw toeten, damit weniger anwendungen die ergebnisse beeinflussen..<br />
wenn du dann noch große beispiele verwendest (so dass das prog ein paar minuten rechnet), dann waere das schon ziemlich genau..</p>
</blockquote>
<p>&quot;init 3&quot; hatte ich zwar schon drin, aber ich guck dann mal was init 2 noch macht. Ansonsten werde ich das Programm jetzt länger laufen lassen.</p>
<blockquote>
<p>rdtsc</p>
</blockquote>
<p>Genau das was ich gesucht habe.</p>
<blockquote>
<p>sämtliche interrupts disablen(1), vor und nach dem asm-code i/o ports togglen und die impulse mit 'nem oszilloskop messen(2).</p>
</blockquote>
<p>1. Interrupt-Flag zurücksetzen? Wird das nicht vom OS geblockt?<br />
2. Warum? Ich habe zwar mal gehört, dass ein Prozessor andere Signale aussendet, wenn er eine 1 anstatt einer 0 verarbeitet, aber was sagt mir das dann? Unabhängig davon aber werde ich das nicht machen. Hab gerade kein Oszilloskop zur Hand. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1097198</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097198</guid><dc:creator><![CDATA[terraner]]></dc:creator><pubDate>Thu, 13 Jul 2006 14:51:51 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Geschwindigkeits-Tests durchführen? on Thu, 13 Jul 2006 15:21:47 GMT]]></title><description><![CDATA[<p>terraner schrieb:</p>
<blockquote>
<p>1. Interrupt-Flag zurücksetzen? Wird das nicht vom OS geblockt?</p>
</blockquote>
<p>ein os darfste natürlich auch nicht laufen haben für sowas. zumindest musste den scheduler anhalten sonst sind alle messwerte für die katz'. interrupts verfälschen ebenfalls das ergebnis.</p>
<p>terraner schrieb:</p>
<blockquote>
<p>2. Warum? Ich habe zwar mal gehört, dass ein Prozessor andere Signale aussendet, wenn er eine 1 anstatt einer 0 verarbeitet, aber was sagt mir das dann?</p>
</blockquote>
<p>du setzt einen portpin auf 1 und am ende der asm-routine auf 0. die impulslänge minus der zwei portsetz-intructions ist dann die zeit, die dein code braucht.</p>
<p>terraner schrieb:</p>
<blockquote>
<p>Hab gerade kein Oszilloskop zur Hand. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>nana, das gehört doch zur grundausstattung eines jeden assembler freaks <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>btw: wenn du die exakte taktfrequenz des computers kennst, dann kannste auch taktzyklen zählen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1097218</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097218</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Thu, 13 Jul 2006 15:21:47 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Geschwindigkeits-Tests durchführen? on Thu, 13 Jul 2006 17:03:01 GMT]]></title><description><![CDATA[<p>MisterX schrieb:</p>
<blockquote>
<p>Wenns präzise sein soll,<br />
kann man die Effizienz von Algorithmen auch BERECHNEN.</p>
</blockquote>
<p>Naja, gibt ja auch welche die nicht studiert haben und sich vielleicht für theoretische Algorithmenanalyse nicht so sehr interessieren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1097297</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097297</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 13 Jul 2006 17:03:01 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Geschwindigkeits-Tests durchführen? on Thu, 13 Jul 2006 17:14:34 GMT]]></title><description><![CDATA[<p>Je nachdem wie genau du es haben willst, reicht vielleicht auch ein hoher nice-Wert oder die Echtzeiterweiterungen für den Linux-Kernel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1097301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097301</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Thu, 13 Jul 2006 17:14:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Geschwindigkeits-Tests durchführen? on Thu, 13 Jul 2006 17:53:55 GMT]]></title><description><![CDATA[<p>kingruedi schrieb:</p>
<blockquote>
<p>Je nachdem wie genau du es haben willst, reicht vielleicht auch ein hoher nice-Wert oder die Echtzeiterweiterungen für den Linux-Kernel.</p>
</blockquote>
<p>Im Moment geht es mir nur darum ob welcher von zwei Assemblerbefehlen mit dem selben Ergebnis schneller ist, also z.B.:</p>
<pre><code class="language-asm">xor eax, eax

; ...

mov al, 1 ; oder
inc al
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1097321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097321</guid><dc:creator><![CDATA[terraner]]></dc:creator><pubDate>Thu, 13 Jul 2006 17:53:55 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Geschwindigkeits-Tests durchführen? on Thu, 13 Jul 2006 18:05:23 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> schrieb:</p>
<blockquote>
<p>MisterX schrieb:</p>
<blockquote>
<p>Wenns präzise sein soll,<br />
kann man die Effizienz von Algorithmen auch BERECHNEN.</p>
</blockquote>
<p>Naja, gibt ja auch welche die nicht studiert haben und sich vielleicht für theoretische Algorithmenanalyse nicht so sehr interessieren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>OK</p>
<p>Wenns präzise sein soll,<br />
kann man die Effizienz von Algorithmen auch BERECHNEN LASSEN.<br />
Such dir Jemanden der das kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1097329</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097329</guid><dc:creator><![CDATA[MisterX]]></dc:creator><pubDate>Thu, 13 Jul 2006 18:05:23 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Geschwindigkeits-Tests durchführen? on Thu, 13 Jul 2006 18:11:18 GMT]]></title><description><![CDATA[<p>terraner schrieb:</p>
<blockquote>
<p>kingruedi schrieb:</p>
<blockquote>
<p>Je nachdem wie genau du es haben willst, reicht vielleicht auch ein hoher nice-Wert oder die Echtzeiterweiterungen für den Linux-Kernel.</p>
</blockquote>
<p>Im Moment geht es mir nur darum ob welcher von zwei Assemblerbefehlen mit dem selben Ergebnis schneller ist, also z.B.:</p>
<pre><code class="language-asm">xor eax, eax

; ...

mov al, 1 ; oder
inc al
</code></pre>
</blockquote>
<p>Wenn man etwas messen will, was zu schnell ist um genaue Ergebnisse zu erhalten, könnte es helfen dies in einer Schleife einige tausend mal zu wiederholen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1097332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097332</guid><dc:creator><![CDATA[Andreas XXL]]></dc:creator><pubDate>Thu, 13 Jul 2006 18:11:18 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Geschwindigkeits-Tests durchführen? on Thu, 13 Jul 2006 18:13:41 GMT]]></title><description><![CDATA[<p>Kann man nicht die Taktzahlen der einzelnen Anweisungen in den Dokumentationen der CPU Hersteller nachschlagen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1097335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097335</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Thu, 13 Jul 2006 18:13:41 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Geschwindigkeits-Tests durchführen? on Thu, 13 Jul 2006 19:59:46 GMT]]></title><description><![CDATA[<p>kingruedi schrieb:</p>
<blockquote>
<p>Kann man nicht die Taktzahlen der einzelnen Anweisungen in den Dokumentationen der CPU Hersteller nachschlagen?</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> Das hätte man natürlich gleich als erstes machen können. Danke für den Hinweis. Ich werde gleich mal anfangen zu gucken.</p>
<p>Ansonsten hier noch mal von Intel:<br />
<a href="http://www.intel.com/cd/ids/developer/asmo-na/eng/downloads/209859.htm?page=1" rel="nofollow">Measure Code Sections Using The Enhanced Timer</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1097384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097384</guid><dc:creator><![CDATA[terraner]]></dc:creator><pubDate>Thu, 13 Jul 2006 19:59:46 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Geschwindigkeits-Tests durchführen? on Thu, 13 Jul 2006 21:23:17 GMT]]></title><description><![CDATA[<p>kingruedi schrieb:</p>
<blockquote>
<p>Kann man nicht die Taktzahlen der einzelnen Anweisungen in den Dokumentationen der CPU Hersteller nachschlagen?</p>
</blockquote>
<p>Damit kriegste aber die ganzen Cache-Effekte, branch-predicition-misses etc. nicht mit in die Rechnung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1097421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097421</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Thu, 13 Jul 2006 21:23:17 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Geschwindigkeits-Tests durchführen? on Fri, 14 Jul 2006 00:03:17 GMT]]></title><description><![CDATA[<p>Jester schrieb:</p>
<blockquote>
<p>kingruedi schrieb:</p>
<blockquote>
<p>Kann man nicht die Taktzahlen der einzelnen Anweisungen in den Dokumentationen der CPU Hersteller nachschlagen?</p>
</blockquote>
<p>Damit kriegste aber die ganzen Cache-Effekte, branch-predicition-misses etc. nicht mit in die Rechnung.</p>
</blockquote>
<p>Jup, man kann nicht einfach die Taktzahlen addieren und hat am Ende ein vernünftiges Ergebnis. Aber wenn man rausfinden will, wie man am besten optimiert, sollte man die Dokumentationen des CPU Herstellers aufsuchen. Dort werden ja oft noch nützliche Tipps gegeben, wie man die Opcodes am besten verteilt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1097449</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097449</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Fri, 14 Jul 2006 00:03:17 GMT</pubDate></item></channel></rss>