<?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[Performance von Funktionen (planungsgedanken)]]></title><description><![CDATA[<p>Salut zusammen,</p>
<p>mir ist die Geschwindigkeit bzw. Performance von Klassenfunktionen, Globalen und deren Datenverwaltung nicht ganz klar.</p>
<p>Ich überlege ob ich eine recht grosse Funktion, welche nur selten gestartet werden soll (die Schleife(n) laufen Stunden) und selbst noch sehr viele kleine Funktionen aufruft, besser als Globale oder als Klassenfunktion(en) anlegen soll.<br />
Die Funktion(en) soll eine Schnittstelle auswerten.<br />
Der grösste Datenaustausch findet in einem Objekt einer Klasse statt (ca. 60 Objekte weiten sich über zwei weitere Klassen aus).<br />
Alle Objekte sind statisch, es werden auch keine neuen zur Laufzeit mehr angelegt.</p>
<p>Tja, nun die Frage ob es günstiger ist diese Funktionen bzw. Funktionen global anzulegen?<br />
Ist der Zugriff einer Klassenfunktion auf die Elemente des eigenen Objektes schneller als von einer Globalen Funktion?<br />
Wie sieht es aus mit den internen aufrufen von Klassenfunktionen zu Klassenfunktionen des gleichen Objekts im Vergleich Global zu Global?</p>
<p>Wie verhält es sich mit der Datenübergabe einer Funktion an die Elemente (inClass)?<br />
Ist es schneller die Werte der langläufigen Funktion in funktionseigenen register Variablen &quot;zu sammeln&quot; und in grossen (set)Funktion in der Klasse abzulegen oder direkt die Elemente als Speicher in der Funktion zu nutzen?<br />
Die gleiche Frage würde sich bei einer Klassenfunktion stellen, wenn Werte in Elemente anderer Objekte sollen.</p>
<p>Es soll einfach so schnell wie möglich werden <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="🙂"
    /><br />
Bin gespannt <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>
<p>Tommy</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/282662/performance-von-funktionen-planungsgedanken</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 01:41:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/282662.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 23 Feb 2011 23:32:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Performance von Funktionen (planungsgedanken) on Wed, 23 Feb 2011 23:32:37 GMT]]></title><description><![CDATA[<p>Salut zusammen,</p>
<p>mir ist die Geschwindigkeit bzw. Performance von Klassenfunktionen, Globalen und deren Datenverwaltung nicht ganz klar.</p>
<p>Ich überlege ob ich eine recht grosse Funktion, welche nur selten gestartet werden soll (die Schleife(n) laufen Stunden) und selbst noch sehr viele kleine Funktionen aufruft, besser als Globale oder als Klassenfunktion(en) anlegen soll.<br />
Die Funktion(en) soll eine Schnittstelle auswerten.<br />
Der grösste Datenaustausch findet in einem Objekt einer Klasse statt (ca. 60 Objekte weiten sich über zwei weitere Klassen aus).<br />
Alle Objekte sind statisch, es werden auch keine neuen zur Laufzeit mehr angelegt.</p>
<p>Tja, nun die Frage ob es günstiger ist diese Funktionen bzw. Funktionen global anzulegen?<br />
Ist der Zugriff einer Klassenfunktion auf die Elemente des eigenen Objektes schneller als von einer Globalen Funktion?<br />
Wie sieht es aus mit den internen aufrufen von Klassenfunktionen zu Klassenfunktionen des gleichen Objekts im Vergleich Global zu Global?</p>
<p>Wie verhält es sich mit der Datenübergabe einer Funktion an die Elemente (inClass)?<br />
Ist es schneller die Werte der langläufigen Funktion in funktionseigenen register Variablen &quot;zu sammeln&quot; und in grossen (set)Funktion in der Klasse abzulegen oder direkt die Elemente als Speicher in der Funktion zu nutzen?<br />
Die gleiche Frage würde sich bei einer Klassenfunktion stellen, wenn Werte in Elemente anderer Objekte sollen.</p>
<p>Es soll einfach so schnell wie möglich werden <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="🙂"
    /><br />
Bin gespannt <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>
<p>Tommy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2025632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2025632</guid><dc:creator><![CDATA[tommy_tom_tom]]></dc:creator><pubDate>Wed, 23 Feb 2011 23:32:37 GMT</pubDate></item><item><title><![CDATA[Reply to Performance von Funktionen (planungsgedanken) on Wed, 23 Feb 2011 23:40:26 GMT]]></title><description><![CDATA[<p>tommy_tom_tom schrieb:</p>
<blockquote>
<p>Ist der Zugriff einer Klassenfunktion auf die Elemente des eigenen Objektes schneller als von einer Globalen Funktion?</p>
</blockquote>
<p>Nein, die Aufrufe sind jeweils gleich schnell. Das entscheidende Kriterium bei der Wahl zwischen globalen und Memberfunktionen ist auch nicht die Performance, sondern eine Designüberlegung.</p>
<p>tommy_tom_tom schrieb:</p>
<blockquote>
<p>Ist es schneller die Werte der langläufigen Funktion in funktionseigenen register Variablen &quot;zu sammeln&quot; und in grossen (set)Funktion in der Klasse abzulegen oder direkt die Elemente als Speicher in der Funktion zu nutzen?</p>
</blockquote>
<p>Auch hier wird es kaum relevante Unterschiede geben. Vermeide das Schlüsselwort <code>register</code> , es ist ein Relikt aus alten Zeiten ohne grosse Bedeutung.</p>
<p>tommy_tom_tom schrieb:</p>
<blockquote>
<p>Es soll einfach so schnell wie möglich werden <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="🙂"
    /><br />
Bin gespannt <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>
</blockquote>
<p>Ein Tipp: Mach dir nicht zu grosse Gedanken um solche Mikrooptimierungen. Denn du verschwendest damit nur deine Zeit. Investiere diese besser dazu, ein robustes, übersichtliches und gut wartbares Programm zu kreieren. Sobald du nämlich Algorithmen hast, die etwas mehr tun (z.B. einige Berechnungen durchführen, etwas auf Konsole oder Bildschirm ausgeben, etc.), ist der Einfluss von Funktionsaufrufen, Variableninitialisierungen und anderer elementarer Operationen vernachlässigbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2025635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2025635</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 23 Feb 2011 23:40:26 GMT</pubDate></item><item><title><![CDATA[Reply to Performance von Funktionen (planungsgedanken) on Thu, 24 Feb 2011 11:14:01 GMT]]></title><description><![CDATA[<p>Die Performance von Funktionen ist nur interessant, wenn in den Funktionen viel Rechenaufwand geschieht, der eine Anwendung verlangsamt. Das ist dann keine allgemeine Frage, sondern eine Frage was die Funktion wie macht. So etwas misst man über Zeitvergleiche mit sehr vielen Durchläufen der Funktion. Wenn da keine wesentlichen Unterschiede erkennbar sind, haben weitere Planungsgedanken keinen Sinn! <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/2025783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2025783</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Thu, 24 Feb 2011 11:14:01 GMT</pubDate></item></channel></rss>