<?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[clock()]]></title><description><![CDATA[<p>Hallo!</p>
<p>Die Funktion clock() in ctime sollte doch (unabhängig von der Systemauslastung) einen internen Wert pro Sekunde um genau CLOCKS_PER_SEC hochzählen und diesen zurückliefern, oder? D.h. wenn man die Funktion 2 Mal im Abstand von einer Sekunde aufruft, dann sollte der Unterschied genau CLOCKS_PER_SEC sein.</p>
<p>Ich habe zum Testen folgendes Programm geschrieben, das einfach immer wieder clock() ausgibt:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;ctime&gt;

int main(){

	std::cout &lt;&lt; &quot;Clocks per second: &quot; &lt;&lt; CLOCKS_PER_SEC &lt;&lt; std::endl;
	long i = 0;
	while (i++ &lt; 10000000)
		std::cout &lt;&lt; clock() &lt;&lt; std::endl;

	return 0;
}
</code></pre>
<p>Unter Windows funktioniert das Programm perfekt: CLOCKS_PER_SEC ist 1000 und es zählt pro Sekunde um genau diesen Wert hoch.</p>
<p>Unter Linux ist CLOCKS_PER_SEC=1.000.000, clock() zählt pro Sekunde aber um nur etwa 50.000 hoch.</p>
<p>Besonders deutlich sieht man das Problem unter MacOS X: Dort ist CLOCKS_PER_SEC=100, das Programm braucht aber ca. 4 Sekunden um den Wert um 100 zu erhöhen.</p>
<p>Das Verhalten ist für mich nicht erklärbar, weil das ja sicher im Standard festgelegt ist.</p>
<p>Macht die Funktion etwa nicht das, das ich erwarte? Laut meinem C++-Buch und einem Tutorial verwende ich die Funktion aber richtig.</p>
<p>Danke!</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/158344/clock</link><generator>RSS for Node</generator><lastBuildDate>Wed, 09 Sep 2026 20:10:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/158344.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 04 Sep 2006 15:07:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to clock() on Mon, 04 Sep 2006 15:07:01 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Die Funktion clock() in ctime sollte doch (unabhängig von der Systemauslastung) einen internen Wert pro Sekunde um genau CLOCKS_PER_SEC hochzählen und diesen zurückliefern, oder? D.h. wenn man die Funktion 2 Mal im Abstand von einer Sekunde aufruft, dann sollte der Unterschied genau CLOCKS_PER_SEC sein.</p>
<p>Ich habe zum Testen folgendes Programm geschrieben, das einfach immer wieder clock() ausgibt:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;ctime&gt;

int main(){

	std::cout &lt;&lt; &quot;Clocks per second: &quot; &lt;&lt; CLOCKS_PER_SEC &lt;&lt; std::endl;
	long i = 0;
	while (i++ &lt; 10000000)
		std::cout &lt;&lt; clock() &lt;&lt; std::endl;

	return 0;
}
</code></pre>
<p>Unter Windows funktioniert das Programm perfekt: CLOCKS_PER_SEC ist 1000 und es zählt pro Sekunde um genau diesen Wert hoch.</p>
<p>Unter Linux ist CLOCKS_PER_SEC=1.000.000, clock() zählt pro Sekunde aber um nur etwa 50.000 hoch.</p>
<p>Besonders deutlich sieht man das Problem unter MacOS X: Dort ist CLOCKS_PER_SEC=100, das Programm braucht aber ca. 4 Sekunden um den Wert um 100 zu erhöhen.</p>
<p>Das Verhalten ist für mich nicht erklärbar, weil das ja sicher im Standard festgelegt ist.</p>
<p>Macht die Funktion etwa nicht das, das ich erwarte? Laut meinem C++-Buch und einem Tutorial verwende ich die Funktion aber richtig.</p>
<p>Danke!</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1130865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1130865</guid><dc:creator><![CDATA[rC]]></dc:creator><pubDate>Mon, 04 Sep 2006 15:07:01 GMT</pubDate></item><item><title><![CDATA[Reply to clock() on Mon, 04 Sep 2006 20:15:06 GMT]]></title><description><![CDATA[<blockquote>
<p>Das Verhalten ist für mich nicht erklärbar, weil das ja sicher im Standard festgelegt ist.</p>
</blockquote>
<p>Im Standard findet sich die Funktion clock(), der Datentyp clock_t und bei Standard Macro CLOCKS_PER_SEC.</p>
<p>Deine Frage ist dort nicht geregelt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1131126</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1131126</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Mon, 04 Sep 2006 20:15:06 GMT</pubDate></item><item><title><![CDATA[Reply to clock() on Tue, 05 Sep 2006 08:18:28 GMT]]></title><description><![CDATA[<p>Naja, wenn das Verhalten von clock() und CLOCKS_PER_SEC festgelegt ist, dann müsste das ja eigentlich auch schon reichen um das erwartete Verhalten zu garantieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1131294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1131294</guid><dc:creator><![CDATA[rC]]></dc:creator><pubDate>Tue, 05 Sep 2006 08:18:28 GMT</pubDate></item></channel></rss>