<?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[Unglaubwürdiger Kontrast der Einfügungsdauer von unordered_set zu set]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;unordered_set&gt;
#include &lt;ctime&gt;
#include &lt;set&gt;
#include &lt;iostream&gt;

class stop_watch
{
    unsigned long first;

public:

    void start()
    {
        first = clock();
    }

    unsigned long stop()
    {
        return clock() - first;
    }
};

int main()
{
    stop_watch sw;
    std::set&lt;int&gt; stdset;
    std::unordered_set&lt;int&gt; stduset;
    sw.start();

    for(int a;a &lt; 1000000;++a)
        stdset.insert(a);

    std::cout &lt;&lt; sw.stop() &lt;&lt; '\n';
    sw.start();

    for(int a;a &lt; 1000000;++a)
        stduset.insert(a);

    std::cout &lt;&lt; sw.stop() &lt;&lt; '\n';
}
</code></pre>
<p>Bin ich blöd wie ein Hund, oder wieso braucht unordered_set nicht mal eine Millisekunde zum Einfügen von 1 000 000 Zahlen, set aber 1000?<br />
Kann das sein, dass Hash-Algorithmen und keine Sortierung die Geschwindigkeit (mehr als) vertausend-fachen?</p>
<p>VD <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/299550/unglaubwürdiger-kontrast-der-einfügungsdauer-von-unordered_set-zu-set</link><generator>RSS for Node</generator><lastBuildDate>Thu, 13 Aug 2026 05:13:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/299550.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 13 Feb 2012 18:00:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Unglaubwürdiger Kontrast der Einfügungsdauer von unordered_set zu set on Mon, 13 Feb 2012 18:00:42 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;unordered_set&gt;
#include &lt;ctime&gt;
#include &lt;set&gt;
#include &lt;iostream&gt;

class stop_watch
{
    unsigned long first;

public:

    void start()
    {
        first = clock();
    }

    unsigned long stop()
    {
        return clock() - first;
    }
};

int main()
{
    stop_watch sw;
    std::set&lt;int&gt; stdset;
    std::unordered_set&lt;int&gt; stduset;
    sw.start();

    for(int a;a &lt; 1000000;++a)
        stdset.insert(a);

    std::cout &lt;&lt; sw.stop() &lt;&lt; '\n';
    sw.start();

    for(int a;a &lt; 1000000;++a)
        stduset.insert(a);

    std::cout &lt;&lt; sw.stop() &lt;&lt; '\n';
}
</code></pre>
<p>Bin ich blöd wie ein Hund, oder wieso braucht unordered_set nicht mal eine Millisekunde zum Einfügen von 1 000 000 Zahlen, set aber 1000?<br />
Kann das sein, dass Hash-Algorithmen und keine Sortierung die Geschwindigkeit (mehr als) vertausend-fachen?</p>
<p>VD <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2180656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2180656</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 13 Feb 2012 18:00:42 GMT</pubDate></item><item><title><![CDATA[Reply to Unglaubwürdiger Kontrast der Einfügungsdauer von unordered_set zu set on Mon, 13 Feb 2012 18:07:08 GMT]]></title><description><![CDATA[<p>Läuft es auf Debug?</p>
<p>Sonst dauerts wohl eben.</p>
<p>Ansonsten auch zu bedenken, dass Du im ungünstigsten Fall 1 Mio. mal Speicher erweiterst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2180659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2180659</guid><dc:creator><![CDATA[Hobo]]></dc:creator><pubDate>Mon, 13 Feb 2012 18:07:08 GMT</pubDate></item><item><title><![CDATA[Reply to Unglaubwürdiger Kontrast der Einfügungsdauer von unordered_set zu set on Mon, 13 Feb 2012 18:09:02 GMT]]></title><description><![CDATA[<p>Ich Antworte mir besser gleich selber... ja ich bin blöd wie ein Hund! Da vergess ich glatt, <code>a</code> in der Startanweisung der Schleife zu initialisieren. Jetzt ist das Verhältnis ca. 3 zu 5.</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Aber, aber.. definiert der Standard nicht die Automatische Null-Zuweisung eines Integralen BDT? Wenn es bspw. ein Stackobjekt ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2180660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2180660</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 13 Feb 2012 18:09:02 GMT</pubDate></item><item><title><![CDATA[Reply to Unglaubwürdiger Kontrast der Einfügungsdauer von unordered_set zu set on Mon, 13 Feb 2012 18:19:56 GMT]]></title><description><![CDATA[<p>Edit: Lieber doch keinen Kommentar...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2180664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2180664</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Mon, 13 Feb 2012 18:19:56 GMT</pubDate></item><item><title><![CDATA[Reply to Unglaubwürdiger Kontrast der Einfügungsdauer von unordered_set zu set on Mon, 13 Feb 2012 18:21:35 GMT]]></title><description><![CDATA[<p>Hacker schrieb:</p>
<blockquote>
<p>Aber, aber.. definiert der Standard nicht die Automatische Null-Zuweisung eines Integralen BDT? Wenn es bspw. ein Stackobjekt ist?</p>
</blockquote>
<p>Auch wenn es jetzt wenig überraschend ist: Nein...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2180670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2180670</guid><dc:creator><![CDATA[XSpille]]></dc:creator><pubDate>Mon, 13 Feb 2012 18:21:35 GMT</pubDate></item><item><title><![CDATA[Reply to Unglaubwürdiger Kontrast der Einfügungsdauer von unordered_set zu set on Mon, 13 Feb 2012 18:35:29 GMT]]></title><description><![CDATA[<p>XSpille schrieb:</p>
<blockquote>
<p>Hacker schrieb:</p>
<blockquote>
<p>Aber, aber.. definiert der Standard nicht die Automatische Null-Zuweisung eines Integralen BDT? Wenn es bspw. ein Stackobjekt ist?</p>
</blockquote>
<p>Auch wenn es jetzt wenig überraschend ist: Nein...</p>
</blockquote>
<p>Es werden glaub nur Variablen, die im statischen Speicher abgelegt werden und Variablen, die mit der Syntax T() erzeugt werden, automatisch mit 0 initialisiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2180672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2180672</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 13 Feb 2012 18:35:29 GMT</pubDate></item><item><title><![CDATA[Reply to Unglaubwürdiger Kontrast der Einfügungsdauer von unordered_set zu set on Mon, 13 Feb 2012 18:34:58 GMT]]></title><description><![CDATA[<p>&lt;Klugschiss II&gt;<br />
<strong>Die</strong> Syntax.<br />
&lt;/Klugschiss II&gt;</p>
<p>Ja, statischer Speicher wird genullt. <s>Sonst nix.</s></p>
<p>Und automatische Standardkonstruktoren tun's - glaube ich - auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2180675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2180675</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Mon, 13 Feb 2012 18:34:58 GMT</pubDate></item><item><title><![CDATA[Reply to Unglaubwürdiger Kontrast der Einfügungsdauer von unordered_set zu set on Mon, 13 Feb 2012 18:37:06 GMT]]></title><description><![CDATA[<p>Caligulaminus schrieb:</p>
<blockquote>
<p>&lt;Klugschiss II&gt;<br />
<strong>Die</strong> Syntax.<br />
&lt;/Klugschiss II&gt;</p>
</blockquote>
<p>Danke, habs geändert.</p>
<p>Caligulaminus schrieb:</p>
<blockquote>
<p>Ja, statischer Speicher wird genullt. <s>Sonst nix.</s><br />
Und automatische Standardkonstruktoren tun's - glaube ich - auch.</p>
</blockquote>
<p>Genau das hab ich bereits erwähnt. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2180677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2180677</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 13 Feb 2012 18:37:06 GMT</pubDate></item><item><title><![CDATA[Reply to Unglaubwürdiger Kontrast der Einfügungsdauer von unordered_set zu set on Mon, 13 Feb 2012 18:41:33 GMT]]></title><description><![CDATA[<p>Gugelmoser schrieb:</p>
<blockquote>
<p>Genau das hab ich bereits erwähnt. :p</p>
</blockquote>
<p>Und ich sekundierte...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2180679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2180679</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Mon, 13 Feb 2012 18:41:33 GMT</pubDate></item><item><title><![CDATA[Reply to Unglaubwürdiger Kontrast der Einfügungsdauer von unordered_set zu set on Mon, 13 Feb 2012 19:18:14 GMT]]></title><description><![CDATA[<p>Ich hab mal folgenden Beitrag gesehen:</p>
<blockquote>
<p>Garantiert der Standard, dass wenn ich sowas schreibe</p>
<pre><code class="language-cpp">int a;
</code></pre>
<p>a dann mit 0 initialisiert wird?</p>
</blockquote>
<p>Und dann haben cooky451 und noch so ein anderer das bejaht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2180693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2180693</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 13 Feb 2012 19:18:14 GMT</pubDate></item><item><title><![CDATA[Reply to Unglaubwürdiger Kontrast der Einfügungsdauer von unordered_set zu set on Mon, 13 Feb 2012 19:26:27 GMT]]></title><description><![CDATA[<p>Hacker schrieb:</p>
<blockquote>
<p>Ich hab mal folgenden Beitrag gesehen:</p>
<blockquote>
<p>Garantiert der Standard, dass wenn ich sowas schreibe</p>
<pre><code class="language-cpp">int a;
</code></pre>
<p>a dann mit 0 initialisiert wird?</p>
</blockquote>
<p>Und dann haben cooky451 und noch so ein anderer das bejaht.</p>
</blockquote>
<p>Kann man nicht sagen. Kommt drauf an, in welchem Scope sie definiert ist. Falls global Scope ja, ansonsten nein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2180694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2180694</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 13 Feb 2012 19:26:27 GMT</pubDate></item></channel></rss>