<?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 delete steigern]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe eine Hashmap (std::map), die als Werte Pointer enthält, die wieder auf eine Hashmap zeigen. Das funktioniert auch alles wunderbar, beim freigeben des Speichers ist die Anwendung aber recht langsam.</p>
<p>Die Hashmap, die wieder Pointer auf die anderen Hashmaps enthält sieht folgendermaßen aus:</p>
<pre><code class="language-cpp">std::map&lt;TCHAR*, std::map&lt;DWORD64, TCHAR*&gt;*, cmp_str&gt;
</code></pre>
<p>die Hashmaps auf die die Pointer zeigen sehen dann entsprechned so aus:</p>
<pre><code class="language-cpp">std::map&lt;DWORD64, TCHAR*&gt;
</code></pre>
<p>beim freigeben des speichers gehe ich dann die erste Hashmap durch und rufe delete auf:</p>
<pre><code class="language-cpp">for ( moduleIter = symMap.begin() ; moduleIter != symMap.end(); moduleIter++ )
{
    // delete module name
    delete (*moduleIter).first;
    // delete symbol map
    delete (*moduleIter).second;
}
</code></pre>
<p>das geht verhältnismäßig langsam, ein Beispiel:</p>
<p>Hashmap (symMap) enthält 3 Zeiger auf weitere Hashmaps. Diese 3 Hashmaps enthalten: 893 bzw. 7811 bzw. 3687 Einträge, also ingesamt 12391 Einträge.<br />
Der oben gezeigte Schnipsel zur Freigabe des Speichers dauert ca. 22 Sekunden. Die Verarbeitung davor eben nur 5 Sekunden...mache ich irgendeinen gravierenden performance fehler? Irgendwelche tipps zur Verbesserung?</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/212354/performance-von-delete-steigern</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 21:21:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/212354.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 05 May 2008 12:47:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to performance von delete steigern on Mon, 05 May 2008 12:47:39 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe eine Hashmap (std::map), die als Werte Pointer enthält, die wieder auf eine Hashmap zeigen. Das funktioniert auch alles wunderbar, beim freigeben des Speichers ist die Anwendung aber recht langsam.</p>
<p>Die Hashmap, die wieder Pointer auf die anderen Hashmaps enthält sieht folgendermaßen aus:</p>
<pre><code class="language-cpp">std::map&lt;TCHAR*, std::map&lt;DWORD64, TCHAR*&gt;*, cmp_str&gt;
</code></pre>
<p>die Hashmaps auf die die Pointer zeigen sehen dann entsprechned so aus:</p>
<pre><code class="language-cpp">std::map&lt;DWORD64, TCHAR*&gt;
</code></pre>
<p>beim freigeben des speichers gehe ich dann die erste Hashmap durch und rufe delete auf:</p>
<pre><code class="language-cpp">for ( moduleIter = symMap.begin() ; moduleIter != symMap.end(); moduleIter++ )
{
    // delete module name
    delete (*moduleIter).first;
    // delete symbol map
    delete (*moduleIter).second;
}
</code></pre>
<p>das geht verhältnismäßig langsam, ein Beispiel:</p>
<p>Hashmap (symMap) enthält 3 Zeiger auf weitere Hashmaps. Diese 3 Hashmaps enthalten: 893 bzw. 7811 bzw. 3687 Einträge, also ingesamt 12391 Einträge.<br />
Der oben gezeigte Schnipsel zur Freigabe des Speichers dauert ca. 22 Sekunden. Die Verarbeitung davor eben nur 5 Sekunden...mache ich irgendeinen gravierenden performance fehler? Irgendwelche tipps zur Verbesserung?</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1503625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1503625</guid><dc:creator><![CDATA[fig0]]></dc:creator><pubDate>Mon, 05 May 2008 12:47:39 GMT</pubDate></item><item><title><![CDATA[Reply to performance von delete steigern on Mon, 05 May 2008 13:11:25 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>welchen compiler verwendest du?<br />
Testest Du mit einer Debug version? Falls ja probier mal die release.</p>
<p>Bei der Verwendung von stl und (unabhängig davon) bei delete sind die debug versionen meist deutlich langsamer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1503639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1503639</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Mon, 05 May 2008 13:11:25 GMT</pubDate></item><item><title><![CDATA[Reply to performance von delete steigern on Mon, 05 May 2008 13:45:24 GMT]]></title><description><![CDATA[<p>Danke! das hat echt einen massiven performancegewinn gebracht, die 22 sekunden sind runter auf 500ms <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
Hätte ich echt nicht gedacht, dass das so viel bringt!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1503667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1503667</guid><dc:creator><![CDATA[fig0]]></dc:creator><pubDate>Mon, 05 May 2008 13:45:24 GMT</pubDate></item><item><title><![CDATA[Reply to performance von delete steigern on Mon, 05 May 2008 20:56:48 GMT]]></title><description><![CDATA[<p>doch gerade bei der STL bringt das so einiges <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1503901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1503901</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Mon, 05 May 2008 20:56:48 GMT</pubDate></item><item><title><![CDATA[Reply to performance von delete steigern on Wed, 07 May 2008 09:20:26 GMT]]></title><description><![CDATA[<p>jepp ich hab auch oft überall optimiert bei meinen code, war alles bullshit.. bei release geht ab;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1504727</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1504727</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 07 May 2008 09:20:26 GMT</pubDate></item></channel></rss>