<?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[Geschwindigkeitsbremsen und NACHTRÄGLICHE Optimierung]]></title><description><![CDATA[<p>Was bremst mein Programm aus ? Ist die Frage die ich mir stelle,<br />
denn es ist sehr langsam.<br />
1. bremst es aus einenVektor immer neu mit push_back zu füllen und dann wieder zu leeren ?<br />
2. Sind Zufallsfunktionen wie std::random_shuffle(vector) geschwindigkeitsaufwändig ?<br />
3. braucht initialisierungen von Variablen viel Zeit ?<br />
4. Bremmst schreiben in eine Datei sehr ? (hab ich Vermutung, dass es so ist)<br />
5. Bremmst das Anzeigen in einem Element der Api (Winapi) ?<br />
6. Ständiges Aufrufen einer Funktion die ein Zeichen überprüft, 130 mal if ?<br />
7. bringt new und delete ein Speed und Performance +<br />
8. Wie sehr langsamen schleifen zum suchen nach einer Zahl in einem String mit 1-255 mit Leerzeilen ?</p>
<p>Natürlich slowed alles ein wenig, logisch, aber was am meisten, grawirendsten und was gibt es für BÖSE sachen, die man vermeiden sollte ?</p>
<p>ZU 6: map wär hier hilfreich gewesen, hab aber die einfach aus nem alten prog übernommen, ändern ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/251111/geschwindigkeitsbremsen-und-nachträgliche-optimierung</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 16:20:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/251111.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 Sep 2009 13:28:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Geschwindigkeitsbremsen und NACHTRÄGLICHE Optimierung on Tue, 29 Sep 2009 13:28:46 GMT]]></title><description><![CDATA[<p>Was bremst mein Programm aus ? Ist die Frage die ich mir stelle,<br />
denn es ist sehr langsam.<br />
1. bremst es aus einenVektor immer neu mit push_back zu füllen und dann wieder zu leeren ?<br />
2. Sind Zufallsfunktionen wie std::random_shuffle(vector) geschwindigkeitsaufwändig ?<br />
3. braucht initialisierungen von Variablen viel Zeit ?<br />
4. Bremmst schreiben in eine Datei sehr ? (hab ich Vermutung, dass es so ist)<br />
5. Bremmst das Anzeigen in einem Element der Api (Winapi) ?<br />
6. Ständiges Aufrufen einer Funktion die ein Zeichen überprüft, 130 mal if ?<br />
7. bringt new und delete ein Speed und Performance +<br />
8. Wie sehr langsamen schleifen zum suchen nach einer Zahl in einem String mit 1-255 mit Leerzeilen ?</p>
<p>Natürlich slowed alles ein wenig, logisch, aber was am meisten, grawirendsten und was gibt es für BÖSE sachen, die man vermeiden sollte ?</p>
<p>ZU 6: map wär hier hilfreich gewesen, hab aber die einfach aus nem alten prog übernommen, ändern ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1785938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1785938</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Tue, 29 Sep 2009 13:28:46 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeitsbremsen und NACHTRÄGLICHE Optimierung on Tue, 29 Sep 2009 13:35:46 GMT]]></title><description><![CDATA[<blockquote>
<p>1. bremst es aus einenVektor immer neu mit push_back zu füllen und dann wieder zu leeren ?</p>
</blockquote>
<p>push_back bremst aus, wenn der reservierte Speicher überschritten wird. Speicher bleibt beim leeren reserviert. Wenn du abschätzen kannst wie groß der Vektor normalerweise wird, kannst du mit reserve den Speicher reservieren. Wenn nicht, wäre ein anderer Container vl eine bessere Wahl.</p>
<blockquote>
<p>4. Bremmst schreiben in eine Datei sehr ? (hab ich Vermutung, dass es so ist)</p>
</blockquote>
<p>ziemlich</p>
<blockquote>
<p>7. bringt new und delete ein Speed und Performance +</p>
</blockquote>
<p>Im Vergleich zu was? statisch allokierten Variablen? Nein, da ist new und delete ein ganzes Stück langsamer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1785944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1785944</guid><dc:creator><![CDATA[JustAnotherNoob]]></dc:creator><pubDate>Tue, 29 Sep 2009 13:35:46 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeitsbremsen und NACHTRÄGLICHE Optimierung on Tue, 29 Sep 2009 13:38:34 GMT]]></title><description><![CDATA[<p>zu eins: nein. Einen vektor zu leeren verringert nicht den allokierten speicher. daher ist ein erneutes pushback sehr schnell. Zu beginn kannst du über .reserve die richtige Menge speicher reservieren.</p>
<p>zu zwei: wenn für die objekte im vektor eine vernünftige swap funktion zur verfügung steht, sollte das kein problem sein</p>
<p>zu drei: wenn du im konstruktor Sleep(10000) einbaust, dann ja.</p>
<p>zu vier: Ja. Jede kommunikation zwischen RAM und &quot;Benutzer&quot; (egal ob schreiben auf Festplatte oder Konsole mit cout) ist immer langsamer</p>
<p>zu fünf: Spezifizier mal</p>
<p>zu sechs: Hä? if ist für integrierte Typen sehr schnell. Funktionsaufrufe kannst du mit inline vermeiden (ob das performance gibt, ist ne andere Frage)</p>
<p>zu sieben: Zieh den stack vor.</p>
<p>zu acht: versteh ich nicht</p>
<p>zu zu sechs: map ist allgemein langsamer als vektor, weil der speicher nicht am stück im RAM liegt. Je nach Art der aufgabe kann eine map allerdings deutlich schneller sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1785949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1785949</guid><dc:creator><![CDATA[Gilder]]></dc:creator><pubDate>Tue, 29 Sep 2009 13:38:34 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeitsbremsen und NACHTRÄGLICHE Optimierung on Tue, 29 Sep 2009 13:49:03 GMT]]></title><description><![CDATA[<p>zu fünf: als text in einer Text oder RichTextBox. und zwar jeder berechnete Buschtabe einzeln.<br />
zu acht: eine Schleife die von 1-255 in einer Datei liest<br />
while(std::getline(BLABLA))<br />
{<br />
str += BLA;<br />
}<br />
die liegt auch nochmal in ner schleife, FÜR JEDEN BUCHSTABEN.<br />
das selbe gilt für punkt vier.<br />
nur keine Datei sondern ein Vektor der größe 255</p>
<p>btw: ein anderer Container ? Welcher denn für eine Sammlung von 255 ints ?<br />
EDIT: aso ja ok dann reserviere ich den, wird der autom. beim beenden wieder freigegeben ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1785963</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1785963</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Tue, 29 Sep 2009 13:49:03 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeitsbremsen und NACHTRÄGLICHE Optimierung on Tue, 29 Sep 2009 14:28:48 GMT]]></title><description><![CDATA[<p>Du fragst die falschen Leute.<br />
Die richtige Ansprechsperson für diesen Fall ist dein Profiler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1785992</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1785992</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Tue, 29 Sep 2009 14:28:48 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeitsbremsen und NACHTRÄGLICHE Optimierung on Tue, 29 Sep 2009 14:32:57 GMT]]></title><description><![CDATA[<p>Naja, das Kommunizieren mit einer EditBox ist das Selbe wie das Schreiben in eine Datei oder das Ausgeben über cout. Es ist (im Vergleich zu anderen Operationen) natürlich &quot;sehr&quot; zeitraubend. Reicht es nicht, das &quot;Endergebnis&quot; der Operation anzuzeigen?</p>
<p>Eine schnellere Variante als vector gibt es nicht, wenn du mit POD's arbeitest, random access brauchst und keine Elemente am Anfang oder in der Mitte des vector löschen musst. Das Einzige, was schneller wäre, wären die normalen Arrays (auch wenn der Unterschied minimal und in deinem Fall wahrscheinlich nicht merkbar ist).</p>
<p>Der Speicher von vector wird auch mit .reserve automatisch freigegeben, wenn der Destruktor vom vector aufgerufen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1785995</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1785995</guid><dc:creator><![CDATA[Gilder]]></dc:creator><pubDate>Tue, 29 Sep 2009 14:32:57 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeitsbremsen und NACHTRÄGLICHE Optimierung on Tue, 29 Sep 2009 15:40:53 GMT]]></title><description><![CDATA[<p>Gilder schrieb:</p>
<blockquote>
<p>Naja, das Kommunizieren mit einer EditBox ist das Selbe wie das Schreiben in eine Datei oder das Ausgeben über cout. Es ist (im Vergleich zu anderen Operationen) natürlich &quot;sehr&quot; zeitraubend. Reicht es nicht, das &quot;Endergebnis&quot; der Operation anzuzeigen?</p>
</blockquote>
<p>Ja als alternative.<br />
2. Das Programm schläft nach einiger Zeit ein, wegen der brutalen Schleife, ist das mit dem Standart bewältigbar (komisches Wort, gibts das ?) ?<br />
oder mit Winapi, was MFC oder CLI da bietet gefällt mir nicht, warscheinlich dann auch mit SendMessage(hwnd,?) oder ?, kann man mir mal ein Beispiel geben ?<br />
es muss auch nur so alle Schleifendurchgang aktualisieren, mehr ist glaub ich eh nicht drin. Konsole braucht ja sowas nicht, deshalb <strong>nicht verschieben</strong> wenn hier keiner Antworten will, weils hier nicht hingehört.<br />
Dann antewortet eher wieder zu den Leistungsbremsen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1786039</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1786039</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Tue, 29 Sep 2009 15:40:53 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeitsbremsen und NACHTRÄGLICHE Optimierung on Tue, 29 Sep 2009 16:26:03 GMT]]></title><description><![CDATA[<p>Shade Of Mine schrieb:</p>
<blockquote>
<p>Du fragst die falschen Leute.<br />
Die richtige Ansprechsperson für diesen Fall ist dein Profiler.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Sehe ich auch so.</p>
<p>Vor allem, da das alles recht Abhängig ist, wie oft und wie du gebraucht von den Sachen machst. Klar kann man sagen, welche Sprachfeatures teuer sind, aber wenn du konkret, wie du eine fertige Applikation hast, die optimiert werden soll, dann gehst du da am besten wirklich mit einem Profiler ran, weil du sonst an der falschen Stelle suchst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1786089</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1786089</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 29 Sep 2009 16:26:03 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeitsbremsen und NACHTRÄGLICHE Optimierung on Tue, 29 Sep 2009 16:55:37 GMT]]></title><description><![CDATA[<p>Wenn du willst, daß dein Windows-Programm noch bedienbar ist, dann mußt du die zeitaufwendige Schleife in einen eigenen Thread packen. Und von diesem Thread aus, kannst du dann ab und zu die GUI aktualisieren lassen (welche verwendest du denn, MFC?).</p>
<p>Bei deiner Beschreibung kommt es mir so vor, als ob du ersteinmal deinen generellen Algorithmus überarbeiten solltest (anstatt an einzelnen Schrauben zu drehen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1786127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1786127</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Tue, 29 Sep 2009 16:55:37 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeitsbremsen und NACHTRÄGLICHE Optimierung on Tue, 29 Sep 2009 16:55:46 GMT]]></title><description><![CDATA[<p>1. Wenn es um Operationen an Containern/Arrays mit POD's geht, sollte eine Ausgabe bei JEDEM Schritt vermieden werden. Denn die Geschwindigkeit der Operationen aan POD's und der Ausgabe wo auch immer stehen in keinem Verhältnis. Vielleicht nur jeden xten Schleifendurchgang etwas ausgeben? (Modulo Operator)</p>
<p>2. Natürlich kostet Ausgabe in EditBox Zeit. Allerdings glaube ich nicht, dass da die meiste Zeit bei drauf geht. Wenn du uns keinen Code zeigt, kann dir Niemand sagen, wo der Bottleneck deines Algorithmus stecken könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1786128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1786128</guid><dc:creator><![CDATA[Gilder]]></dc:creator><pubDate>Tue, 29 Sep 2009 16:55:46 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeitsbremsen und NACHTRÄGLICHE Optimierung on Tue, 29 Sep 2009 17:05:16 GMT]]></title><description><![CDATA[<p>ich wollte mich erst mal informieren, bevor ich dinge ändere.<br />
Mein Algorithmus kann nicht verbessert 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="🙂"
    /> Ne Spaß beiseite, der ist bis auf die Dateizugriffe eigentlich nicht veränderbar, bis auf ins kompliziertere.<br />
Man kann aber auch mehr oder weniger absichtlich eine langsamere Variante wählen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1786134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1786134</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Tue, 29 Sep 2009 17:05:16 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeitsbremsen und NACHTRÄGLICHE Optimierung on Tue, 29 Sep 2009 17:06:41 GMT]]></title><description><![CDATA[<p>Aber 5 Zeichen pro Sekunde, das liegt glaube ich nicht am Algo selbst, also dem System. das kann ich mindestens um das zehnfache verbessern.<br />
MFC ja</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1786138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1786138</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Tue, 29 Sep 2009 17:06:41 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeitsbremsen und NACHTRÄGLICHE Optimierung on Tue, 29 Sep 2009 17:18:57 GMT]]></title><description><![CDATA[<p>5 char's pro sekunde?<br />
Da ist ja ein Rechenschieber schneller <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/1786149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1786149</guid><dc:creator><![CDATA[Gilder]]></dc:creator><pubDate>Tue, 29 Sep 2009 17:18:57 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeitsbremsen und NACHTRÄGLICHE Optimierung on Tue, 29 Sep 2009 23:08:49 GMT]]></title><description><![CDATA[<p>da du uns keinen kontext gibst, d.h. wir nicht wissen was die &quot;100%&quot; sind, können wir auch nicht sagen, wie sehr (wieviel <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f635.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--dizzy_face"
      title="%)"
      alt="😵"
    /> etwas bremst. also können wir bloss raten.</p>
<p>&gt; 1. bremst es aus einenVektor immer neu mit push_back zu füllen und dann wieder zu leeren ?<br />
vermutlich wenig</p>
<p>&gt; 2. Sind Zufallsfunktionen wie std::random_shuffle(vector) geschwindigkeitsaufwändig ?<br />
vermutlich wenig</p>
<p>&gt; 3. braucht initialisierungen von Variablen viel Zeit ?<br />
kommt auf den typ der variablen an, und mit was man sie initialisiert.<br />
vermutlich ganz ganz wenig</p>
<p>&gt; 4. Bremmst schreiben in eine Datei sehr ? (hab ich Vermutung, dass es so ist)<br />
vermutlich extrem</p>
<p>&gt; 5. Bremmst das Anzeigen in einem Element der Api (Winapi) ?<br />
vermutlich mittel</p>
<p>&gt; 6. Ständiges Aufrufen einer Funktion die ein Zeichen überprüft, 130 mal if ?<br />
vermutlich &quot;mittel-wenig&quot;</p>
<p>&gt; 7. bringt new und delete ein Speed und Performance +<br />
nein, new/delete KOSTET zeit<br />
grössenordnung &quot;mittel-wenig&quot;</p>
<p>&gt; 8. Wie sehr langsamen schleifen zum suchen nach einer Zahl in einem String mit 1-255 mit Leerzeilen ?<br />
vermutlich mittel</p>
<p>&gt; Natürlich slowed alles ein wenig, logisch, aber was am meisten, grawirendsten und was gibt es für BÖSE sachen, die man vermeiden sollte ?<br />
am meisten bremst, was am öftesten ausgefürht wird.<br />
wenn du 100.000 mal &quot;wenig&quot; bremst, ist das schlimmer, als wenn du 1x &quot;extrem&quot; bremst. nen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1786278</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1786278</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 29 Sep 2009 23:08:49 GMT</pubDate></item></channel></rss>