<?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[Zeitmessung]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich hab gerade mit C++ angefangen. Da ich schon früher Java und Basic programmiert habe, habe ich zum Spass mal ne Bubblesort programmiert und würde jetzt gerne mal die Laufzeit testen und gegen Java antreten lassen.</p>
<p>Kann mir da jemand mal die nötigen &quot;Befehle&quot; aufschreiben?</p>
<p>Ich schreib mal meinen Code dazu:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;

using namespace std;

int main(){
    int length = 1000;
    int numbers[length];
    for(int i=0; i&lt;length; i++)  numbers[i]=rand()%100+1;

    for(int k=0; k&lt;length-1; k++){
      for(int i=0; i&lt;length; i++){
        if(numbers[i]&gt;numbers[i+1]){
          int hilf = numbers[i];
          numbers[i] = numbers[i+1];
          numbers[i+1] = hilf;
        }
      }    
    }

    //for(int i=0; i&lt;length; i++) cout &lt;&lt; numbers[i] &lt;&lt; &quot;, &quot;;

    cout &lt;&lt; endl;
    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/125434/zeitmessung</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 08:33:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/125434.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 06 Nov 2005 16:51:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeitmessung on Sun, 06 Nov 2005 16:51:35 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich hab gerade mit C++ angefangen. Da ich schon früher Java und Basic programmiert habe, habe ich zum Spass mal ne Bubblesort programmiert und würde jetzt gerne mal die Laufzeit testen und gegen Java antreten lassen.</p>
<p>Kann mir da jemand mal die nötigen &quot;Befehle&quot; aufschreiben?</p>
<p>Ich schreib mal meinen Code dazu:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;

using namespace std;

int main(){
    int length = 1000;
    int numbers[length];
    for(int i=0; i&lt;length; i++)  numbers[i]=rand()%100+1;

    for(int k=0; k&lt;length-1; k++){
      for(int i=0; i&lt;length; i++){
        if(numbers[i]&gt;numbers[i+1]){
          int hilf = numbers[i];
          numbers[i] = numbers[i+1];
          numbers[i+1] = hilf;
        }
      }    
    }

    //for(int i=0; i&lt;length; i++) cout &lt;&lt; numbers[i] &lt;&lt; &quot;, &quot;;

    cout &lt;&lt; endl;
    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/909697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/909697</guid><dc:creator><![CDATA[faleX]]></dc:creator><pubDate>Sun, 06 Nov 2005 16:51:35 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitmessung on Sun, 06 Nov 2005 18:02:17 GMT]]></title><description><![CDATA[<p>Bin auch neu hier aber vielleicht kannst du uns noch sagen was du genau für Befehle willst(Zeitmessung etc.). <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/909777</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/909777</guid><dc:creator><![CDATA[C++_new_progger]]></dc:creator><pubDate>Sun, 06 Nov 2005 18:02:17 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitmessung on Sun, 06 Nov 2005 18:08:59 GMT]]></title><description><![CDATA[<p>Ja welches &quot;Paket&quot; ich importieren muss.<br />
Und dann brauch ich noch was um die aktuelle Zeit in Millisekunden zu speichern.<br />
Vor und nach dem Sortieren speicher ich dann die Zeit.<br />
Am Ende der Sortierung subtrahiert man einfach die Zeiten voneinander und man erhällt die Laufzeit des Sortiervorganges.</p>
<p>Das meinte ich mit &quot;die nötigen 'Befehle' &quot;</p>
<p>Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/909788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/909788</guid><dc:creator><![CDATA[faleX]]></dc:creator><pubDate>Sun, 06 Nov 2005 18:08:59 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitmessung on Sun, 06 Nov 2005 18:11:41 GMT]]></title><description><![CDATA[<p>Die header datei kenn ich glaube ich vielleicht kannst ja ein bisschen googlen dann findest du auch die Befehle dafür!!!<br />
Header:time.h oder ohne .h kann auch sein!!! <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/909798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/909798</guid><dc:creator><![CDATA[C++_new_progger]]></dc:creator><pubDate>Sun, 06 Nov 2005 18:11:41 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitmessung on Sun, 06 Nov 2005 18:35:18 GMT]]></title><description><![CDATA[<p>Ich hab diese Codefragment via Google gefunden:</p>
<pre><code class="language-cpp">#include &lt;sys/time.h&gt;
int main()
{
  timeval start, end;
  gettimeofday(&amp;start, 0);
  ...
  gettimeofday(&amp;end, 0);
  cout &lt;&lt; start.tv_sec &lt;&lt; ':' &lt;&lt; start.tv_usec &lt;&lt; endl;
  cout &lt;&lt; end.tv_sec &lt;&lt; ':' &lt;&lt; end.tv_usec &lt;&lt; endl;
}
</code></pre>
<p>Allerding gibt mir der Compiler folgenden Fehler aus, den ich wörtlich verstehe, aber aufgrund fehlenden Wissens nicht beseitigen kann:</p>
<p>'gettimeofday' undeclared (first use this function)</p>
<p>Wer mag helfen?</p>
<p>Mein Code sieh so aus:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;sys/time.h&gt;

using namespace std;

int main(){    
  timeval start, end;
  int length = 1000;
  int numbers[length];
  for(int i=0; i&lt;length; i++)  numbers[i]=rand()%100+1;

  gettimeofday(&amp;start, 0);

  for(int k=0; k&lt;length-1; k++){
    for(int i=0; i&lt;length; i++){
      if(numbers[i]&gt;numbers[i+1]){
        int hilf = numbers[i];
        numbers[i] = numbers[i+1];
        numbers[i+1] = hilf;
      }
    }    
  }

  gettimeofday(&amp;end, 0);

  //for(int i=0; i&lt;length; i++) cout &lt;&lt; numbers[i] &lt;&lt; &quot;, &quot;;
  //cout &lt;&lt; endl;

  cout &lt;&lt; &quot;Start: &quot;&lt;&lt; start.tv_sec &lt;&lt; &quot;:&quot; &lt;&lt; start.tv_usec &lt;&lt; endl;
  cout &lt;&lt; &quot;Ende: &quot; &lt;&lt; end.tv_sec &lt;&lt; &quot;:&quot; &lt;&lt; end.tv_usec &lt;&lt; endl;

  system(&quot;PAUSE&quot;);
  return EXIT_SUCCESS;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/909833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/909833</guid><dc:creator><![CDATA[faleX]]></dc:creator><pubDate>Sun, 06 Nov 2005 18:35:18 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitmessung on Sun, 06 Nov 2005 18:42:43 GMT]]></title><description><![CDATA[<p>Is der gettimeofday vielleicht in einer Klasse untergebraucht? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/909846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/909846</guid><dc:creator><![CDATA[C++_new_progger]]></dc:creator><pubDate>Sun, 06 Nov 2005 18:42:43 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitmessung on Sun, 06 Nov 2005 18:51:27 GMT]]></title><description><![CDATA[<p>Habe ich keine Ahnung. Gibts da kein schönes Nachschlagewerk wie die Java Api Ref???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/909857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/909857</guid><dc:creator><![CDATA[faleX]]></dc:creator><pubDate>Sun, 06 Nov 2005 18:51:27 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitmessung on Sun, 06 Nov 2005 19:04:41 GMT]]></title><description><![CDATA[<p>faleX schrieb:</p>
<blockquote>
<p>Habe ich keine Ahnung. Gibts da kein schönes Nachschlagewerk wie die Java Api Ref???</p>
</blockquote>
<p>du meinst ne &quot;befehlsliste&quot; zu c++?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/909876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/909876</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 06 Nov 2005 19:04:41 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitmessung on Sun, 06 Nov 2005 19:13:44 GMT]]></title><description><![CDATA[<p><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcstdlib/html/vclrfCplusplusLibraryOverview.asp?frame=true" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcstdlib/html/vclrfCplusplusLibraryOverview.asp?frame=true</a>(ctime)<br />
<a href="http://www.cppreference.com/" rel="nofollow">http://www.cppreference.com/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/909885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/909885</guid><dc:creator><![CDATA[Cpt. Tanga]]></dc:creator><pubDate>Sun, 06 Nov 2005 19:13:44 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitmessung on Sun, 06 Nov 2005 19:14:54 GMT]]></title><description><![CDATA[<p>edit: 2link: siehe bereits volkards post</p>
]]></description><link>https://www.c-plusplus.net/forum/post/909886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/909886</guid><dc:creator><![CDATA[Cpt. Tanga]]></dc:creator><pubDate>Sun, 06 Nov 2005 19:14:54 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitmessung on Sun, 06 Nov 2005 19:16:07 GMT]]></title><description><![CDATA[<p>Ja sowas wie das hier bei Java:<br />
<a href="http://java.sun.com/j2se/1.5.0/docs/api/" rel="nofollow">http://java.sun.com/j2se/1.5.0/docs/api/</a></p>
<p>Halt was schönes offizielles an das man sich halten kann.<br />
Wie gesagt habe C++ erst vor 3 Stunden kennengelernt.<br />
Machen das jetzt in der Uni.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/909887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/909887</guid><dc:creator><![CDATA[faleX]]></dc:creator><pubDate>Sun, 06 Nov 2005 19:16:07 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitmessung on Mon, 07 Nov 2005 14:53:38 GMT]]></title><description><![CDATA[<p>Kann denn keiner mal über den Code drüber schauen und sagen was falsch ist? Ist doch recht übersichtlich, oder nicht?</p>
<p>ich muss anstatt &quot;gettimeofday(&amp;start, 0)&quot; was anderes schreiben. vlt sowas wie &quot;this.gettimeofday(&amp;start, 0)&quot; oder &quot;time.gettimeofday(&amp;start, 0)&quot; ??!</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt; 
#include &lt;iostream&gt; 
#include &lt;sys/time.h&gt; 

using namespace std; 

int main(){     
  timeval start, end; 
  int length = 1000; 
  int numbers[length]; 
  for(int i=0; i&lt;length; i++)  numbers[i]=rand()%100+1; 

  gettimeofday(&amp;start, 0); 

  for(int k=0; k&lt;length-1; k++){ 
    for(int i=0; i&lt;length; i++){ 
      if(numbers[i]&gt;numbers[i+1]){ 
        int hilf = numbers[i]; 
        numbers[i] = numbers[i+1]; 
        numbers[i+1] = hilf; 
      } 
    }     
  } 

  gettimeofday(&amp;end, 0); 

  //for(int i=0; i&lt;length; i++) cout &lt;&lt; numbers[i] &lt;&lt; &quot;, &quot;; 
  //cout &lt;&lt; endl; 

  cout &lt;&lt; &quot;Start: &quot;&lt;&lt; start.tv_sec &lt;&lt; &quot;:&quot; &lt;&lt; start.tv_usec &lt;&lt; endl; 
  cout &lt;&lt; &quot;Ende: &quot; &lt;&lt; end.tv_sec &lt;&lt; &quot;:&quot; &lt;&lt; end.tv_usec &lt;&lt; endl; 

  system(&quot;PAUSE&quot;); 
  return EXIT_SUCCESS; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/910637</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/910637</guid><dc:creator><![CDATA[faleX]]></dc:creator><pubDate>Mon, 07 Nov 2005 14:53:38 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitmessung on Mon, 07 Nov 2005 15:07:50 GMT]]></title><description><![CDATA[<p>versuch' mal, statt der gettimeofday() Aufrufe <a href="http://man.cx/time(3)" rel="nofollow">man: time(3)</a> zu verwenden:</p>
<pre><code class="language-cpp">time_t start=time(NULL);
//Berechnung
time_t ende=time(NULL);
cout&lt;&lt;&quot;Start:&quot;&lt;&lt;start&lt;&lt;endl;
cout&lt;&lt;&quot;Ende :&quot;&lt;&lt;ende&lt;&lt;endl;
cout&lt;&lt;&quot;Diff.:&quot;&lt;&lt;ende-start&lt;&lt;endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/910656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/910656</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 07 Nov 2005 15:07:50 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitmessung on Mon, 07 Nov 2005 22:35:22 GMT]]></title><description><![CDATA[<p>Bei solchen Zeitmessungen läßt sich sehr schön das RAII-Idiom einsetzen. Das heißt &quot;Resource Acquisition Is Initialisation&quot;.<br />
Mit dem Anlegen eines lokalen Objektes wird die Zeit gemerkt und im Destruktor des selben Objektes die Dauer bestimmt. Der zu messende Code befindet sich dann im gemeinsamen Code mit dem 'Stopper'-Objekt.<br />
Die Anwendung auf diesen Code sähe in etwa so aus:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &quot;Uhr.h&quot; // s.u.

int main()
{    
    using namespace std;
    const int length = 1000;
    int numbers[length];
    for(int i=0; i&lt;length; i++)  
        numbers[i]=rand()%100+1;

    Uhr uhr;
    {   // Scope für Zeit-Stoper
        Uhr::Stopper stopper( uhr );
        for(int k=0; k&lt;length-1; k++){
            for(int i=0; i&lt;length; i++){
                if(numbers[i]&gt;numbers[i+1]){
                    int hilf = numbers[i];
                    numbers[i] = numbers[i+1];
                    numbers[i+1] = hilf;
                }
            }    
        }
    } // im Destruktor von Stopper wird die Zeit genommen

    cout &lt;&lt; &quot;Dauer: &quot; &lt;&lt; uhr &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>Eine (so hoffe ich) standard-konforme Implementierung der Klasse Uhr sähe so aus:</p>
<pre><code class="language-cpp">// --   File Uhr.h
#include &lt;iostream&gt;
#include &lt;time.h&gt;

class Uhr
{
public:
    struct Stopper
    {
        explicit Stopper( Uhr&amp; uhr )
            : m_uhr( uhr )
        {
            m_uhr.m_start = clock();
        }
        ~Stopper()
        {
            m_uhr.m_dauer = clock() - m_uhr.m_start;
        }
    private:
        Uhr&amp; m_uhr;
    };

    friend struct Stopper;

    friend std::ostream&amp; operator&lt;&lt;( std::ostream&amp; out, const Uhr&amp; uhr )
    {
        return out &lt;&lt; double( uhr.m_dauer ) / double( CLOCKS_PER_SEC ) &lt;&lt; 's';
    }

private:
    clock_t m_start;
    clock_t m_dauer;
};
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/911259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/911259</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 07 Nov 2005 22:35:22 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitmessung on Tue, 08 Nov 2005 02:10:00 GMT]]></title><description><![CDATA[<p>Und sollte time.h nicht funktionieren, nimm ctime. <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/911304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/911304</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Tue, 08 Nov 2005 02:10:00 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitmessung on Tue, 08 Nov 2005 08:30:48 GMT]]></title><description><![CDATA[<p>Thx erstmal gleich ausprobieren</p>
]]></description><link>https://www.c-plusplus.net/forum/post/911424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/911424</guid><dc:creator><![CDATA[faleX]]></dc:creator><pubDate>Tue, 08 Nov 2005 08:30:48 GMT</pubDate></item></channel></rss>