<?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[Compileroptimierungen]]></title><description><![CDATA[<p>Hallo allerseits!</p>
<p>Mich würde mal interessieren, welche Optimierungen ein C++-Compiler so durchführen kann. Zum Beispiel:</p>
<ul>
<li>Welche Rechnungen werden zur Compilezeit ausgewertet? Nur Integerarithmetik (beliebiger Komplexität?) oder auch sowas wie</li>
</ul>
<pre><code class="language-cpp">double a = 2.0 * 3.14;
</code></pre>
<p>oder gar</p>
<pre><code class="language-cpp">double sqrt2 = std::sqrt(2.0)
</code></pre>
<p>?</p>
<ul>
<li>Unter welchen Voraussetzungen werden <code>for</code> -Schleifen durch <code>memset</code> / <code>memcpy</code> ersetzt?</li>
<li>Strippen unerreichbarer Codeteile? Wie komplex dürfen die Bedingungen hierfür sein, damit der Compiler das noch checkt?</li>
<li>...</li>
</ul>
<p>Habe schon Google bemüht, aber nicht wirklich was gefunden. Falls jemand ein paar gute Links zu dem Thema kennt oder direkt was dazu schreiben möchte, würde ich mich sehr darüber freuen. <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="🙂"
    /></p>
<p>Natürlich werden diese Optimierungen Compiler-spezifisch sein. In erster Linie interessiert mich der MS VC++ aber auch die Unterschiede (zum Beispiel zum g++) wären sicherlich interessant.</p>
<p>Grüße,<br />
bloops</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/257749/compileroptimierungen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 09 Sep 2026 19:25:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/257749.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 02 Jan 2010 21:20:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Compileroptimierungen on Sat, 02 Jan 2010 21:20:23 GMT]]></title><description><![CDATA[<p>Hallo allerseits!</p>
<p>Mich würde mal interessieren, welche Optimierungen ein C++-Compiler so durchführen kann. Zum Beispiel:</p>
<ul>
<li>Welche Rechnungen werden zur Compilezeit ausgewertet? Nur Integerarithmetik (beliebiger Komplexität?) oder auch sowas wie</li>
</ul>
<pre><code class="language-cpp">double a = 2.0 * 3.14;
</code></pre>
<p>oder gar</p>
<pre><code class="language-cpp">double sqrt2 = std::sqrt(2.0)
</code></pre>
<p>?</p>
<ul>
<li>Unter welchen Voraussetzungen werden <code>for</code> -Schleifen durch <code>memset</code> / <code>memcpy</code> ersetzt?</li>
<li>Strippen unerreichbarer Codeteile? Wie komplex dürfen die Bedingungen hierfür sein, damit der Compiler das noch checkt?</li>
<li>...</li>
</ul>
<p>Habe schon Google bemüht, aber nicht wirklich was gefunden. Falls jemand ein paar gute Links zu dem Thema kennt oder direkt was dazu schreiben möchte, würde ich mich sehr darüber freuen. <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="🙂"
    /></p>
<p>Natürlich werden diese Optimierungen Compiler-spezifisch sein. In erster Linie interessiert mich der MS VC++ aber auch die Unterschiede (zum Beispiel zum g++) wären sicherlich interessant.</p>
<p>Grüße,<br />
bloops</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1831120</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1831120</guid><dc:creator><![CDATA[Bloops]]></dc:creator><pubDate>Sat, 02 Jan 2010 21:20:23 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Sat, 02 Jan 2010 21:35:43 GMT]]></title><description><![CDATA[<p>selber ausprobieren</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1831129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1831129</guid><dc:creator><![CDATA[geht schnell]]></dc:creator><pubDate>Sat, 02 Jan 2010 21:35:43 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Sun, 03 Jan 2010 12:22:12 GMT]]></title><description><![CDATA[<p>Alle Rechenoperationen mit Literalen sollte ein Compiler direkt ausrechnen und nur noch das Endergebnis verwenden.<br />
Allerdings kann es sein, daß er Teilausdrücke (bzgl. mathematischer Umformungen) nicht berücksichtigt, z.B. bei &quot;10.0 * x / 2.0&quot;.</p>
<p>Und bzgl. Optimierung von eingebauten Funktionen heißt das Stichwort: Intrinsic Functions (<a href="http://de.wikipedia.org/wiki/Intrinsic_Funktions" rel="nofollow">http://de.wikipedia.org/wiki/Intrinsic_Funktions</a>)</p>
<p>Und memset/memcpy sind nur für große Datenmengen wirklich optimiert, da am Anfang und Ende eines Datenblocks noch jeweils auf die verschiedenen Alignments geprüft wird.</p>
<p>Und zuletzt bzgl. Ausziehen - ich mein natürlich 'Strippen' <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="😃"
    /> :<br />
da werden wohl nur statische Checks durchgeführt, d.h. à la</p>
<pre><code class="language-cpp">...
if(true) // oder ein anderer Ausdruck, der sich zu true optimieren läßt
  return;

// strip it
...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1831336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1831336</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Sun, 03 Jan 2010 12:22:12 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Sun, 03 Jan 2010 12:30:12 GMT]]></title><description><![CDATA[<blockquote>
<p>Allerdings kann es sein, daß er Teilausdrücke (bzgl. mathematischer Umformungen) nicht berücksichtigt, z.B. bei &quot;10.0 * x / 2.0&quot;.</p>
</blockquote>
<p>Was auch vollkommen richtig wäre, dies nicht weg zu optimieren. Schließlich könnte da innerhalb der Fließkommaarithmetik etwas anderes rauskommen, als wenn man 5.0 * x rechnet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1831349</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1831349</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 03 Jan 2010 12:30:12 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Sun, 03 Jan 2010 13:07:28 GMT]]></title><description><![CDATA[<p>Egal welcher Compiler, man versucht zunächst den Code selbst zu optimieren. Ob der Compiler dann mehr machen kann, bleibt seine Angelegenheit. Willst du mehr, dann musst du auf Assembler herunter steigen. Nichts anderes kann der Compiler für dich machen. Viel Spass beim Herauskitzeln von einigen Millisekunden weniger! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1831385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1831385</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Sun, 03 Jan 2010 13:07:28 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Sun, 03 Jan 2010 13:43:31 GMT]]></title><description><![CDATA[<p>Aber bitte keine &quot;premature optimization&quot;!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1831405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1831405</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Sun, 03 Jan 2010 13:43:31 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Sun, 03 Jan 2010 13:54:50 GMT]]></title><description><![CDATA[<blockquote>
<p>Willst du mehr, dann musst du auf Assembler herunter steigen.</p>
</blockquote>
<p>Ich behaupte, ein Nicht-Experte optimiert auf jeden Fall schlechter als ein Compiler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1831415</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1831415</guid><dc:creator><![CDATA[Icematix]]></dc:creator><pubDate>Sun, 03 Jan 2010 13:54:50 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Sun, 03 Jan 2010 14:02:33 GMT]]></title><description><![CDATA[<p>Icematix schrieb:</p>
<blockquote>
<p>Ich behaupte, ein Nicht-Experte optimiert auf jeden Fall schlechter als ein Compiler.</p>
</blockquote>
<p>Volle Zustimmung. Also ist die Frage Quatsch, man kann seine Mühe besser in der Optimierung seines eigenen Code verwenden!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1831419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1831419</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Sun, 03 Jan 2010 14:02:33 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Sun, 03 Jan 2010 14:14:11 GMT]]></title><description><![CDATA[<p>Zum Beispiel Variablen/Objekte erst deklarieren, wenn sie gebraucht werden, hilft dem Compiler ziemlich.<br />
Dann eben wann immer Möglich Referenzen auf Objekte arbeiten anstatt sie zu kopieren etc</p>
<p>Gibt es eigentlich gute Online-Literatur zu dem Thema Quellcode-Optimierung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1831426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1831426</guid><dc:creator><![CDATA[Icematix]]></dc:creator><pubDate>Sun, 03 Jan 2010 14:14:11 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Sun, 03 Jan 2010 14:36:59 GMT]]></title><description><![CDATA[<p>Icematix schrieb:</p>
<blockquote>
<p>Zum Beispiel Variablen/Objekte erst deklarieren, wenn sie gebraucht werden, hilft dem Compiler ziemlich.<br />
Dann eben wann immer Möglich Referenzen auf Objekte arbeiten anstatt sie zu kopieren etc</p>
</blockquote>
<p><code>const</code> verwenden, wo sinnvoll und möglich. Das ermöglicht dem compiler den Code unter bestimmten Bedingungen umzustellen, so dass er schneller wird. z.B. durch das Zusammenfassen von Gleitkommaoperationen, um eine bessere Auslastung der Vektoreinheit (SSE, Altivec) des Prozessors zu erreichen.</p>
<p>Wenn es Möglich ist, sollte man auf optimierte Bibliotheken, wie BLAS oder liboil verwenden. Da hat sich schon jemand die Arbeit gemacht, bestimmte Operationen zu optimieren. Wenn dann noch Operationen übrig bleiben, die nicht von diesen Bibliotheken abgedeckt sind, kann man (wenn man es denn kann) noch mit Assembler optimieren.</p>
<p>ABER: Bevor man das macht. Auf jeden Fall den Code erstmal korrekt haben. Und dann erstmal ein paar Opimierungsparameter vom Compiler durchprobieren!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1831446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1831446</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 03 Jan 2010 14:36:59 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Sun, 03 Jan 2010 18:04:13 GMT]]></title><description><![CDATA[<p>ProgChild schrieb:</p>
<blockquote>
<p>Icematix schrieb:</p>
<blockquote>
<p>Zum Beispiel Variablen/Objekte erst deklarieren, wenn sie gebraucht werden, hilft dem Compiler ziemlich.<br />
Dann eben wann immer Möglich Referenzen auf Objekte arbeiten anstatt sie zu kopieren etc</p>
</blockquote>
<p><code>const</code> verwenden, wo sinnvoll und möglich. Das ermöglicht dem compiler den Code unter bestimmten Bedingungen umzustellen, so dass er schneller wird.</p>
</blockquote>
<p><a href="http://www.gotw.ca/gotw/081.htm" rel="nofollow">http://www.gotw.ca/gotw/081.htm</a></p>
<blockquote>
<p>It's a common belief that const-correctness helps compilers generate tighter code. Const is indeed a Good Thing, but the point of this issue of GotW is that const is mainly for humans, rather than for compilers and optimizers.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1831610</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1831610</guid><dc:creator><![CDATA[ef]]></dc:creator><pubDate>Sun, 03 Jan 2010 18:04:13 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Mon, 04 Jan 2010 13:27:12 GMT]]></title><description><![CDATA[<p>Icematix schrieb:</p>
<blockquote>
<p>Gibt es eigentlich gute Online-Literatur zu dem Thema Quellcode-Optimierung?</p>
</blockquote>
<p>Weiss nicht, habe noch nicht gesucht. Das Thema ist aber so alt wie die Programmierung selbst. Ein paar Regeln sind schon genannt. Man kann entweder nach Laufzeit oder nach Speicherbedarf optimieren. Nach Speicherbedarf spielt heute meist keine grosse Rolle mehr. Noch ein paar Regeln zur Laufzeit hinzu:<br />
- Zeigerarithmetik nutzen<br />
- Multiplikation ist schneller als pow(). Beispiel a*a statt pow(a,2)<br />
- Mehrdimensionale Arrays in der Reihenfolge der Speicherung bearbeiten<br />
- Grössere Datentypen wie long und double nur verwenden, wenn sie tatsächlich nötig sind<br />
- In Schleifen redundanten Code vermeiden, also nicht mehrfach dasselbe berechnen<br />
Alle Möglichkeiten zur Optimierung lohnen aber nur, wenn dabei signifikante Unterschiede in der Laufzeit heraus kommen. Drei Tage am Code pfeilen für vielleicht 10 Millisekunden ist unsinnig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1832028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1832028</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Mon, 04 Jan 2010 13:27:12 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Mon, 04 Jan 2010 10:44:01 GMT]]></title><description><![CDATA[<p>Th69 schrieb:</p>
<blockquote>
<p>Aber bitte keine &quot;premature optimization&quot;!!!</p>
</blockquote>
<p>wo ist eigentlich volkard?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1832033</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1832033</guid><dc:creator><![CDATA[löschard]]></dc:creator><pubDate>Mon, 04 Jan 2010 10:44:01 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Mon, 04 Jan 2010 13:38:03 GMT]]></title><description><![CDATA[<p>das Beste, worüber ich die letzte Zeit gestöbert bin, kommt von fefe (CCC), z.B.</p>
<p><a href="http://www.fefe.de/know-your-compiler.pdf" rel="nofollow">http://www.fefe.de/know-your-compiler.pdf</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1832141</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1832141</guid><dc:creator><![CDATA[Superlexx]]></dc:creator><pubDate>Mon, 04 Jan 2010 13:38:03 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Mon, 04 Jan 2010 16:12:24 GMT]]></title><description><![CDATA[<p>Superlexx schrieb:</p>
<blockquote>
<p>das Beste, worüber ich die letzte Zeit gestöbert bin, kommt von fefe (CCC), z.B.</p>
<p><a href="http://www.fefe.de/know-your-compiler.pdf" rel="nofollow">http://www.fefe.de/know-your-compiler.pdf</a></p>
</blockquote>
<p>Das beste da sind die letzten 2 Sätze</p>
<blockquote>
<p>If you do an optimization, test it on real world data.<br />
If it’s not drastically faster but makes the code less readable: undo it.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1832270</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1832270</guid><dc:creator><![CDATA[volksard]]></dc:creator><pubDate>Mon, 04 Jan 2010 16:12:24 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Mon, 04 Jan 2010 16:15:15 GMT]]></title><description><![CDATA[<p>Th69 schrieb:</p>
<blockquote>
<p>Aber bitte keine &quot;premature optimization&quot;!!!</p>
</blockquote>
<p>Das war mein Part <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>Ansonsten kann ich dir nur folgende Tipps geben:<br />
- Auswahl des passenden Algorithmus<br />
- Parameterübergabe call-by-reference statt call-by-value<br />
- Ausnutzen von Spracheigenschaften wie return value optimization<br />
- Benutzen von Funktoren statt Funktionspointern in Schleifendurchläufen</p>
<p>Was Berniebutt geschrieben hat stimmt auch nur teilweise, für Ganzkommazahlen solltest du den Datentyp benutzen, der genau der Breite des CPU Datenbus entspricht. Bei allen anderen Datentypen muss der Prozessor halbe/viertel/doppelte Datenwörter schreiben, was zusätzliches Maskieren bedeuten kann<br />
Die FPU kann mit double schneller rechnen als mit float (vermutlich aus den gleichen Gründen wie oben), daher für Fliesskommaoperationen lieber double als float benutzen. Aber das ist alles CPU spezifisch und kann sich von Plattform zu Plattform ändern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1832272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1832272</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Mon, 04 Jan 2010 16:15:15 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Mon, 04 Jan 2010 16:20:07 GMT]]></title><description><![CDATA[<p>DocShoe schrieb:</p>
<blockquote>
<p>- Parameterübergabe call-by-reference statt call-by-value</p>
</blockquote>
<p>Ich mag solche allgemein formulierten Regeln nicht besonders. Auf nem 32-Bit system z.B. ist es völlig schnuppe ob du einen Zeiger oder gleich den integer selbst übergibst. Aber das nur als Beispiel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1832276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1832276</guid><dc:creator><![CDATA[player4245]]></dc:creator><pubDate>Mon, 04 Jan 2010 16:20:07 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Mon, 04 Jan 2010 22:21:43 GMT]]></title><description><![CDATA[<p>In dem Artikel heißt es:</p>
<blockquote>
<p>Use mul instead of shift: 5 cycles penalty.<br />
Conditional branch mispredicted: 10 cycles.<br />
Cache Miss to main memory: 250 cycles.</p>
</blockquote>
<p>Das erste verstehe ich. Aber was will er mit den anderen zwei Sätzen aussagen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1832575</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1832575</guid><dc:creator><![CDATA[asdfasd]]></dc:creator><pubDate>Mon, 04 Jan 2010 22:21:43 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Mon, 04 Jan 2010 22:45:10 GMT]]></title><description><![CDATA[<p>asdfasd schrieb:</p>
<blockquote>
<p>In dem Artikel heißt es:</p>
<blockquote>
<p>Use mul instead of shift: 5 cycles penalty.<br />
Conditional branch mispredicted: 10 cycles.<br />
Cache Miss to main memory: 250 cycles.</p>
</blockquote>
<p>Das erste verstehe ich. Aber was will er mit den anderen zwei Sätzen aussagen?</p>
</blockquote>
<p><a href="http://en.wikipedia.org/wiki/Branch_prediction" rel="nofollow">Branch predictor</a>: Es ist günstiger, wenn if-Abfragen in Schleifen möglichst oft hintereinander das gleiche Ergebnis haben.</p>
<p><a href="http://en.wikipedia.org/wiki/Cache_miss#Cache_misses" rel="nofollow">Cache miss</a>: Kann zwei Ursachen haben:<br />
Zu große Codesegmente in einer Schleife (das ist die dunkle Seite von inline).<br />
Oder zu wildes Herumspringen im Arbeitspeicher. Es ist günstiger, Speicheradressen möglichst oft nacheinander zu benutzen. Und es ist günstiger Speicheradressen möglichst in durchgehender (oder zumindest vorhersehbarer) Reihenfolge zu benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1832589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1832589</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 04 Jan 2010 22:45:10 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Tue, 05 Jan 2010 02:22:18 GMT]]></title><description><![CDATA[<p>Und noch ein Vortrag von ihm, diesmal ausführlicher:</p>
<p><a href="http://www.linux-kongress.org/2009/slides/compiler_survey_felix_von_leitner.pdf" rel="nofollow">http://www.linux-kongress.org/2009/slides/compiler_survey_felix_von_leitner.pdf</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1832659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1832659</guid><dc:creator><![CDATA[Superlexx]]></dc:creator><pubDate>Tue, 05 Jan 2010 02:22:18 GMT</pubDate></item><item><title><![CDATA[Reply to Compileroptimierungen on Tue, 05 Jan 2010 02:42:31 GMT]]></title><description><![CDATA[<p>berniebutt schrieb:</p>
<blockquote>
<p>- Zeigerarithmetik nutzen</p>
</blockquote>
<p>Da scheiden sich die Geister. Zeiger können den Compiler am optimieren hindern, da er den Wert des zeigers nicht einfach in eine temporäre Variable stecken kann und somit das Referenzieren einsparen kann. Denn es könnte ja sein, dass ein anderer Zeiger den Wert, auf den der Zeiger zeigt, in der Zwischenzeit ändert. Daher empfiehlt der &quot;Software Optimization Guide for AMD64 Processors&quot; zB das Benutzen von Indexoperationen (Wenn es um array Zugriff geht)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1832662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1832662</guid><dc:creator><![CDATA[dfghfjfd]]></dc:creator><pubDate>Tue, 05 Jan 2010 02:42:31 GMT</pubDate></item></channel></rss>