<?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[delete beschleunigen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab beispielsweise folgende Struktur:</p>
<pre><code>struct list{
  char point[128];
  long L1;
  long L2;
  int i;
  double wert1;
  double wert2;
  double wert3;
  char c1,c2,c3,c4;
  list *next;
};
</code></pre>
<p>Jede mit new angelegte Struktur ist eine Zeile in einer Tabelle<br />
und *next ist immer die nächste Struktur in der Tabelle.</p>
<p>Beim Schließen der Tabelle wird folgender Code ausgeführt um den Speicher der Strukturen wieder frei zu geben:</p>
<pre><code>list *f=first,*f2;
while(f){
  f2=f-&gt;next;
  delete(f);
  f=f2;
}
</code></pre>
<p>Das Funktioniert alles wunderbar ... nur wenn ich dann eine Tabelle mit 30000 Einträgen habe und diese dann schließe dauert das gute 5-6 Sekunden.</p>
<p>Meine Frage ist nun gibt es einen Weg das zu beschleunigen??</p>
<p>Vielen Dank im Voraus <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>Jan</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/300648/delete-beschleunigen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 17:21:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/300648.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 07 Mar 2012 10:46:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 10:46:47 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab beispielsweise folgende Struktur:</p>
<pre><code>struct list{
  char point[128];
  long L1;
  long L2;
  int i;
  double wert1;
  double wert2;
  double wert3;
  char c1,c2,c3,c4;
  list *next;
};
</code></pre>
<p>Jede mit new angelegte Struktur ist eine Zeile in einer Tabelle<br />
und *next ist immer die nächste Struktur in der Tabelle.</p>
<p>Beim Schließen der Tabelle wird folgender Code ausgeführt um den Speicher der Strukturen wieder frei zu geben:</p>
<pre><code>list *f=first,*f2;
while(f){
  f2=f-&gt;next;
  delete(f);
  f=f2;
}
</code></pre>
<p>Das Funktioniert alles wunderbar ... nur wenn ich dann eine Tabelle mit 30000 Einträgen habe und diese dann schließe dauert das gute 5-6 Sekunden.</p>
<p>Meine Frage ist nun gibt es einen Weg das zu beschleunigen??</p>
<p>Vielen Dank im Voraus <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>Jan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189388</guid><dc:creator><![CDATA[janmerkschien]]></dc:creator><pubDate>Wed, 07 Mar 2012 10:46:47 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 10:54:20 GMT]]></title><description><![CDATA[<p>Soll das zur Übung sein, oder hat das Programm einen Zweck? Wenn es einen Zweck haben soll, wieso benutzt Du dann keinen Container aus der Standard-Lib? Wenn es wirklich eine Liste sein soll z.B. std::list?<br />
Ansonsten: Hast Du das mal im Releasemodus übersetzt? Dauert das Löschen dann immer noch so lange?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189390</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Wed, 07 Mar 2012 10:54:20 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 10:55:55 GMT]]></title><description><![CDATA[<p>Kommt das hier in Frage? Damit musst du a) das Rad nicht neu erfinden und b) erledigt std::list das Speichermanagement für dich.</p>
<pre><code class="language-cpp">#include &lt;list&gt;

struct DataItem
{
  char point[128];
  long L1;
  long L2;
  int i;
  double wert1;
  double wert2;
  double wert3;
  char c1,c2,c3,c4;
};

std::list&lt;DataItem&gt; myList;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2189391</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189391</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Wed, 07 Mar 2012 10:55:55 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 11:02:22 GMT]]></title><description><![CDATA[<p>Probier's mal mit</p>
<pre><code>struct dings {
  char point[128];
  long L1;
  long L2;
  int i;
  double wert1;
  double wert2;
  double wert3;
  char c1,c2,c3,c4;
};

int main()
{
  :::
  std::vector&lt;dings&gt; bums;
  :::
}
</code></pre>
<p>oder std::list, oder std::list mit einem boost::pool_allocator (?)</p>
<p>Am besten in der Reihenfolge, falls möglich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189392</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 07 Mar 2012 11:02:22 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 11:09:28 GMT]]></title><description><![CDATA[<p>krümelkacker schrieb:</p>
<blockquote>
<p>[...] oder std::list mit einem boost::pool_allocator (?).</p>
</blockquote>
<p>Da würde ich eher 'ne intrusive Liste nehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189393</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Wed, 07 Mar 2012 11:09:28 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 11:14:44 GMT]]></title><description><![CDATA[<p>delete ist halt einfach super langsam. Hat mich auch immer gewundert, aber es ist so. Da hilft auch keine std::list. Der vector muss delete nur ein Mal aufrufen, und der ist in den meisten Fällen eh zu bevorzugen. Aber wenn du die Liste wirklich brauchst, bleibt dir wohl nur ein eigener allocator oder Ähnliches.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189395</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189395</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Wed, 07 Mar 2012 11:14:44 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 11:35:00 GMT]]></title><description><![CDATA[<p>Ok danke für die sehr schellen Antworten <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 />
Ich werde mir dann einmal anschauen was ein allocator ist ....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189400</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189400</guid><dc:creator><![CDATA[janmerkschien]]></dc:creator><pubDate>Wed, 07 Mar 2012 11:35:00 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 12:11:24 GMT]]></title><description><![CDATA[<p>janmerkschien schrieb:</p>
<blockquote>
<p>Ich werde mir dann einmal anschauen was ein allocator ist ....</p>
</blockquote>
<p>Wieso das und nicht einfach std::vector benutzen? Der ist nämlich in vielen Gebieten einer linked List hoffnungslos überlegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189410</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189410</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Wed, 07 Mar 2012 12:11:24 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 12:20:02 GMT]]></title><description><![CDATA[<p>Es läuft darauf hinaus, dass du die &quot;operator new&quot; und &quot;operator delete&quot; Methoden deiner Klasse überschreibst.</p>
<p>Wenn Du den delete Operator erstmal leer läßt, kannst Du auch schön sehen, ob dort die Zeit bleibt, oder ob es immer noch langsam ist. Das produziert natürlich massig Memoryleaks, aber zum Testen ist das ja egal.</p>
<p>Wenn das erfolgreich war müsstest Du den Speicher für Deine Objekte selber verwalten. Typischerweise fordert man gleich Speicher für viele Objekte an und verwaltet diese dann selber. Aber da kann man natürlich auch auf fertige Lösungen zurückgreifen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189412</guid><dc:creator><![CDATA[dibada]]></dc:creator><pubDate>Wed, 07 Mar 2012 12:20:02 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 13:12:21 GMT]]></title><description><![CDATA[<p>wenn ich vector benutze würde das an der ganzen sache nix ändern ....<br />
es würde trotzdem für jede struktur im vector ein delete aufgerufen und so würde der zeitaufwand der selbe bleiben ^^<br />
(wenn ich das richtig verstanden habe)</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/26814">@dibada</a>: wo könnte ich denn solche fertigen Lösungen finden ?? <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/2189436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189436</guid><dc:creator><![CDATA[janmerkschien]]></dc:creator><pubDate>Wed, 07 Mar 2012 13:12:21 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 13:22:13 GMT]]></title><description><![CDATA[<p>Nein, vector allokiert am Stück und Du musst ja keine Zeiger im vector speichern. Es würde zwar für jeden Eintrag der Destruktor durchlaufen (der in diesem Fall aber eh nichts macht, da es ein POD ist), aber nur einmal delete aufgerufen.</p>
<p>Du darfst aber grundsätzlich auch nochmal drüber nachdenken oder nachfragen, wenn Dir hier drei erfahrene Leute sagen, dass das ein oder andere für Dich besser geeignet ist <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>EDIT:</p>
<p>janmerkschien schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/26814">@dibada</a>: wo könnte ich denn solche fertigen Lösungen finden ?? <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>
</blockquote>
<p>Das meinst Du jetzt nicht ernst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189440</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 07 Mar 2012 13:22:13 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 13:25:03 GMT]]></title><description><![CDATA[<p>Mal unabhängig davon, dass man das ganze anders viel besser machen kann: Es kann eigentlich nicht sein, dass 30000mal delete 5-6 Sekunden dauert. delete ist vielleicht langsam, aber nicht <em>so</em> langsam. Das muss also irgendeine andere Ursache haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189443</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 07 Mar 2012 13:25:03 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 13:27:08 GMT]]></title><description><![CDATA[<p>janmerkschien schrieb:</p>
<blockquote>
<p>wenn ich vector benutze würde das an der ganzen sache nix ändern ....<br />
es würde trotzdem für jede struktur im vector ein delete aufgerufen und so würde der zeitaufwand der selbe bleiben ^^<br />
<strong>(wenn ich das richtig verstanden habe)</strong></p>
</blockquote>
<p>Nein, hast Du nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189444</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 07 Mar 2012 13:27:08 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 13:27:25 GMT]]></title><description><![CDATA[<p>janmerkschien schrieb:</p>
<blockquote>
<p>wenn ich vector benutze würde das an der ganzen sache nix ändern ....<br />
es würde trotzdem für jede struktur im vector ein delete aufgerufen und so würde der zeitaufwand der selbe bleiben ^^<br />
(wenn ich das richtig verstanden habe)</p>
</blockquote>
<p>Eben nicht!<br />
std::vector ist ein toller Wrapper um</p>
<pre><code class="language-cpp">new DataItem[xyz];
</code></pre>
<p>, der dem manuellen Speicher verwalten auf jeden Fall vorzuziehen ist.</p>
<p>std::vector besorgt nur einmal Speicher für ALLE Elemente, ist halt ein Array. Wenn der Vektor voll ist, alloziert er mehr Speicher (ca doppelt so viel) und kopiert in den neuen Bereich.</p>
<p>Wenn du die Anzahl der Objekte abschätzen kannst, hast du mit einem std::vector genau 1 new und 1 delete. Wenn du mit einem leeren vector startest und immer anhängst, hast du um den Dreh log(n) + x Allocations/Deletes (Der Vektor muss wachsen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189445</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Wed, 07 Mar 2012 13:27:25 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 13:44:15 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/904">@bashar</a> :<br />
also es sind 72660 strukturen und keine 30000 ...<br />
und es sind auch nicht 5-6 sekunden sondern nur 2-3s<br />
ich hatte noch nicht so genau gemessen als ich den Beitrag verfasst hatte sorry <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><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/26744">@Ethon</a>:<br />
der vector würde dann immer wieder eine Struktur dazu bekommen also insgesamt 72660 mal ...<br />
und dann hätte ich ja wieder 72660 Allocations/Deletes oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189453</guid><dc:creator><![CDATA[janmerkschien]]></dc:creator><pubDate>Wed, 07 Mar 2012 13:44:15 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 13:52:00 GMT]]></title><description><![CDATA[<p>janmerkschien schrieb:</p>
<blockquote>
<p>der vector würde dann immer wieder eine Struktur dazu bekommen also insgesamt 72660 mal ...<br />
und dann hätte ich ja wieder 72660 Allocations/Deletes oder?</p>
</blockquote>
<p>Ne, immer noch nicht.</p>
<p>Ethon schrieb:</p>
<blockquote>
<p>Eben nicht!<br />
std::vector ist ein toller Wrapper um</p>
<pre><code class="language-cpp">new DataItem[xyz];
</code></pre>
</blockquote>
<p>Toll ja, aber nicht einmal <code>vector</code> verwendet intern <code>new[]</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189457</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Wed, 07 Mar 2012 13:52:00 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 13:53:23 GMT]]></title><description><![CDATA[<p>Ethon schrieb:</p>
<blockquote>
<p>Wenn du die Anzahl der Objekte abschätzen kannst, hast du mit einem std::vector genau 1 new und 1 delete. Wenn du mit einem leeren vector startest und immer anhängst, hast du um den Dreh log(n) + x Allocations/Deletes (Der Vektor muss wachsen).</p>
</blockquote>
<p>den satz verstehe ich so das pro liste die angehängt wird eine Allocation und ein Delete hinzu kommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189458</guid><dc:creator><![CDATA[janmerkschien]]></dc:creator><pubDate>Wed, 07 Mar 2012 13:53:23 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 14:00:58 GMT]]></title><description><![CDATA[<blockquote>
<p>Toll ja, aber nicht einmal vector verwendet intern new[].</p>
</blockquote>
<p>Der std::vector verwendet per default std::allocator und der new[].<br />
Also doch.</p>
<blockquote>
<p>den satz verstehe ich so das pro liste die angehängt wird eine Allocation und ein Delete hinzu kommt.</p>
</blockquote>
<p>Okay, dann langsam. Stell dir vor der Vektor hat am Anfang Platz für 20 Elemente. Dann muss die nächsten 20x Anfügen kein new aufgerufen werden. Ab 20 muss neuer Speicher her. Also besorgt der Vektor beispielsweise Speicher für 60 Elemente und entfernt den alten Speicher per delete. Bis die 60 voll sind muss wieder kein new aufgerufen werden, dann wieder 1x new + 1x delete. Wenn der Vektor seinen Wertebereich verlässt und der Destruktor aufgerufen wird, ist noch 1 delete fällig. Das wars.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189461</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Wed, 07 Mar 2012 14:00:58 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 14:06:09 GMT]]></title><description><![CDATA[<p>danke für deine geduld mit mir Ethon <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/2189464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189464</guid><dc:creator><![CDATA[janmerkschien]]></dc:creator><pubDate>Wed, 07 Mar 2012 14:06:09 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 14:08:19 GMT]]></title><description><![CDATA[<p>Ethon schrieb:</p>
<blockquote>
<blockquote>
<p>Toll ja, aber nicht einmal vector verwendet intern new[].</p>
</blockquote>
<p>Der std::vector verwendet per default std::allocator und der new[].<br />
Also doch.</p>
</blockquote>
<p>Wo steht das? Ist dir klar, dass das nicht funktionieren kann?<br />
<code>allocator&lt;T&gt;::allocate</code> liefern einem ein Stück Speicher für <code>n</code> Elemente, angefordert mit <code>::operator new</code> . Konstruktoren werden dann mit placement new bzw. <code>allocator&lt;T&gt;::construct</code> aufgerufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189466</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Wed, 07 Mar 2012 14:08:19 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 14:25:30 GMT]]></title><description><![CDATA[<p>TyRoXx schrieb:</p>
<blockquote>
<p>Ethon schrieb:</p>
<blockquote>
<blockquote>
<p>Toll ja, aber nicht einmal vector verwendet intern new[].</p>
</blockquote>
<p>Der std::vector verwendet per default std::allocator und der new[].<br />
Also doch.</p>
</blockquote>
<p>Wo steht das? Ist dir klar, dass das nicht funktionieren kann?<br />
<code>allocator&lt;T&gt;::allocate</code> liefern einem ein Stück Speicher für <code>n</code> Elemente, angefordert mit <code>::operator new</code> . Konstruktoren werden dann mit placement new bzw. <code>allocator&lt;T&gt;::construct</code> aufgerufen.</p>
</blockquote>
<p>Da new[] das auch so macht, sollte man es vielleicht so forumlieren: Der Standardallocator macht das gleiche wie new[], auch wenn es technisch kein Wrapper um new[] ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189472</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 07 Mar 2012 14:25:30 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 14:31:04 GMT]]></title><description><![CDATA[<p>Nur mal so, weil ich vor nicht all zu langer Zeit ne kleine Allocator Benchmark gebastelt habe: auf meinem PC hier (Core2 Duo mit 2,13 GHz, Windows XP SP3) schaffe ich so 3~10 Mio. Allocations + Deallocations pro Sekunde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189475</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 07 Mar 2012 14:31:04 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 14:51:54 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13960">@hustbaer</a><br />
Stimmt, das dauert bei mir auch &quot;nur&quot; ~1.2 Sekunden:</p>
<pre><code class="language-cpp">#include &lt;ctime&gt;
#include &lt;list&gt;
#include &lt;iostream&gt;

int main()
{
	auto t = std::clock();
	{
		std::list&lt;int&gt; l;
		for (auto i = 5000000; i--; )
			l.push_back(i);
		auto elapsed = (std::clock() - t) / static_cast&lt;double&gt;(CLOCKS_PER_SEC);
		std::cout &lt;&lt; &quot;Elapsed alloc: &quot; &lt;&lt; elapsed &lt;&lt; '\n';
	}
	auto elapsed = (std::clock() - t) / static_cast&lt;double&gt;(CLOCKS_PER_SEC);
	std::cout &lt;&lt; &quot;Elapsed dealloc: &quot; &lt;&lt; elapsed &lt;&lt; '\n';
}
</code></pre>
<p>Insofern könnte der TE mal schreiben was er da bei sich veranstaltet. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189484</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189484</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Wed, 07 Mar 2012 14:51:54 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 14:58:37 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>Insofern könnte der TE mal schreiben was er da bei sich veranstaltet. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Debugbuild? Wenn man alle Aktionen auf ihre Richtigkeit prüft (ok, das macht auch eine optimierte (De-)Allokation noch) und noch tolle Heapguards einbaut und diese auf Überschreiben prüft, dann dauert das ganz schön lange.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189489</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 07 Mar 2012 14:58:37 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 15:18:05 GMT]]></title><description><![CDATA[<p>Ich habe es mal mit dem Visual C++ 2010 versucht.</p>
<p>Aus der IDE brauch es bei mir tatsächlich, ungeachtet vom Release oder Debug ca. 2-3 Sekunden mit seiner Datenstruktur. Von der Konsole aus braucht das Release 0,025 Sekunden (und das Debug doppelt so lange).</p>
<p>Sprich: Für eine Zeitmessung sollte man scheinbar neuerdings auch die IDE verlassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189494</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189494</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 07 Mar 2012 15:18:05 GMT</pubDate></item><item><title><![CDATA[Reply to delete beschleunigen on Wed, 07 Mar 2012 15:28:04 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>Sprich: Für eine Zeitmessung sollte man scheinbar neuerdings auch die IDE verlassen.</p>
</blockquote>
<p>Naja, das ist schon länger so.<br />
Bzw. es geht glaube ich primär darum dass kein Debugger auf dem Prozess draufhängt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189495</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 07 Mar 2012 15:28:04 GMT</pubDate></item></channel></rss>