<?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[?:-Operator (Performancefrage)]]></title><description><![CDATA[<p>Hallo Zusammen,</p>
<p>Gibt es einen Unterschied bezüglich der Performance zwischen</p>
<pre><code class="language-cpp">int a;
if(...)a=1;else a=2;
</code></pre>
<p>und folgendem Code?</p>
<pre><code class="language-cpp">int a = ...?a:b;
</code></pre>
<p>Auch wenn der Unterschied nur gering ist, würde ich gerne die schnellere Lösung nehmen, da oben gezeigter Code mehrere Tausend Mal Pro Sekunde ausgeführt wird.</p>
<p>Vielen Dank schonmal für eure Antworten.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/266030/operator-performancefrage</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 15:44:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/266030.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 02 May 2010 22:55:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ?:-Operator (Performancefrage) on Sun, 02 May 2010 22:55:40 GMT]]></title><description><![CDATA[<p>Hallo Zusammen,</p>
<p>Gibt es einen Unterschied bezüglich der Performance zwischen</p>
<pre><code class="language-cpp">int a;
if(...)a=1;else a=2;
</code></pre>
<p>und folgendem Code?</p>
<pre><code class="language-cpp">int a = ...?a:b;
</code></pre>
<p>Auch wenn der Unterschied nur gering ist, würde ich gerne die schnellere Lösung nehmen, da oben gezeigter Code mehrere Tausend Mal Pro Sekunde ausgeführt wird.</p>
<p>Vielen Dank schonmal für eure Antworten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1891574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1891574</guid><dc:creator><![CDATA[Unregistriert]]></dc:creator><pubDate>Sun, 02 May 2010 22:55:40 GMT</pubDate></item><item><title><![CDATA[Reply to ?:-Operator (Performancefrage) on Sun, 02 May 2010 22:57:15 GMT]]></title><description><![CDATA[<p>Hab noch einen Fehler entdeckt...</p>
<p>Der Zweite Code muss natürlich so aussehen:</p>
<pre><code class="language-cpp">int a = ...?1:2;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1891577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1891577</guid><dc:creator><![CDATA[Unregistriert]]></dc:creator><pubDate>Sun, 02 May 2010 22:57:15 GMT</pubDate></item><item><title><![CDATA[Reply to ?:-Operator (Performancefrage) on Mon, 03 May 2010 00:07:52 GMT]]></title><description><![CDATA[<p>Das sollte der compiler auf den selben Maschinencode zusammen optimieren. Wenn du sicher gehen willst, vermeide bedingungen:</p>
<pre><code class="language-cpp">if(a&lt;b)
   a = 1;
else
  a = 2;

//zu:

static const int arr[] = { 2, 1 };
a = arr[a&lt;b];
</code></pre>
<p>Über den Sinn solcher Optimierungen lässt sich sicherlich streiten <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1891589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1891589</guid><dc:creator><![CDATA[asdfasd]]></dc:creator><pubDate>Mon, 03 May 2010 00:07:52 GMT</pubDate></item><item><title><![CDATA[Reply to ?:-Operator (Performancefrage) on Mon, 03 May 2010 00:19:25 GMT]]></title><description><![CDATA[<p>Die Varianten mit &quot;if&quot; und &quot;?&quot; sollten - guten Compiler vorausgesetzt - gleich schnell sein.<br />
Die Array-Variante kann schneller sein, kann aber auch langsamer sein. Kann auch gleich schnell sein. Muss man ausprobieren.<br />
Ich habe sowas schonmal eingesetzt, in meinem Fall war die Array-Variante merkbar (besser: messbar) schneller.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1891592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1891592</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 03 May 2010 00:19:25 GMT</pubDate></item><item><title><![CDATA[Reply to ?:-Operator (Performancefrage) on Mon, 03 May 2010 08:44:38 GMT]]></title><description><![CDATA[<p>vielleicht sollte man noch hinzufuegen das nur der ?: operator in der meta programmierung eingesetzt werden kann. if-else nicht. da gibt es dann keine bedingung zur laufzeit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1891608</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1891608</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Mon, 03 May 2010 08:44:38 GMT</pubDate></item><item><title><![CDATA[Reply to ?:-Operator (Performancefrage) on Mon, 03 May 2010 13:05:22 GMT]]></title><description><![CDATA[<p>a=1+(a&gt;=b); ist natürlich am schnellsten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1891732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1891732</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 03 May 2010 13:05:22 GMT</pubDate></item><item><title><![CDATA[Reply to ?:-Operator (Performancefrage) on Mon, 03 May 2010 13:07:56 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>a=1+(a&gt;=b); ist natürlich am schnellsten.</p>
</blockquote>
<p>Das glaube ich nicht. Es sei denn, Du beweist mir das Gegenteil.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1891736</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1891736</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Mon, 03 May 2010 13:07:56 GMT</pubDate></item><item><title><![CDATA[Reply to ?:-Operator (Performancefrage) on Mon, 03 May 2010 13:09:26 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>a=1+(a&gt;=b); ist natürlich am schnellsten.</p>
</blockquote>
<p>Weil es natürlich immer die Wahl zwischen N und N+1 ist... Das war nur ein schlecht gewähltes Beispiel von ihm.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1891738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1891738</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Mon, 03 May 2010 13:09:26 GMT</pubDate></item><item><title><![CDATA[Reply to ?:-Operator (Performancefrage) on Mon, 03 May 2010 13:31:08 GMT]]></title><description><![CDATA[<p>Hier noch ein Code, der bei beliebigen Zahlenpaaren funktioniert:</p>
<pre><code class="language-cpp">int b,c;
int a = b+(c-b)*&lt;Bedingung&gt;;
</code></pre>
<p>Hier ist es natürlich fraglich, ob eine solche Implementierung sinvoll ist und ob diese Lösung auch noch schneller ist als der ?: - Operator. (Aufgrund der Arithmetischen Operationen ist er es wohl nicht.)</p>
<p>MfG, Jochen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1891753</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1891753</guid><dc:creator><![CDATA[Jochen S.]]></dc:creator><pubDate>Mon, 03 May 2010 13:31:08 GMT</pubDate></item></channel></rss>