<?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[mikrosekunden rausholen geht immer noch nicht gescheit!]]></title><description><![CDATA[<p>hi, ich habe mit mühe boost c++ initialisert obwohl ich noob bin</p>
<p>es geht bei mir darum, rausfinden wie lange es dauert, bis eine Funktion durchgelaufen ist. Das eigentliche Ziel ist, wieviel performance es verbraucht.</p>
<p>ich hab boost genommen damit ich mikrosekunden ablesen kann. scheint aber nicht zu gehen: Ich hab eine Konsolenanwendung geschrieben welches die Mikrosekunden wiedergibt.</p>
<p>mit mühe in dokumentation die scripte (posix) rausgeholt, obwohl ich englisch lesen schlecht bin<br />
<a href="http://www.boost.org/doc/html/date_time/posix_time.html#date_time.posix_time.ptime_class" rel="nofollow">http://www.boost.org/doc/html/date_time/posix_time.html#date_time.posix_time.ptime_class</a></p>
<p>hier mal kurz der code den ich geschrieben hab:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;boost/date_time/posix_time/posix_time.hpp&quot;

int main() {
  using namespace boost::posix_time;

int x;

nochmal:

std::cin &gt;&gt; x;   // Eingabe für Wiederholungen.

ptime t(microsec_clock::universal_time());

for (int i = 0; i &lt; x; i++) {
	std::cout &lt;&lt; &quot;irgendwas &quot; &lt;&lt; std::endl;
}

ptime t1(microsec_clock::universal_time());
std::cout &lt;&lt; t &lt;&lt; std::endl;
std::cout &lt;&lt; t1 &lt;&lt; std::endl;
goto nochmal;                    //nochmal testen
return 0;
}
</code></pre>
<p>Ausgabe wäre dann z.b.:</p>
<blockquote>
<p>5<br />
irgendwas<br />
irgendwas<br />
irgendwas<br />
irgendwas<br />
irgendwas<br />
2006-Nov-16 04:06:35.750000<br />
2006-Nov-16 04:06:35.765625</p>
</blockquote>
<p>erste zeile: <em>2006-Nov-16 04:06:35.750000</em> wäre start<br />
dann kommt der Durchlauf mit &quot;irgendwas&quot;-Zeilen<br />
und zweite: <em>2006-Nov-16 04:06:35.765625</em> wäre stopp. Solange hat es dann gedauert.</p>
<p>wenn ich jetzt statt zahl ne buchstabe eintippe so dass die konsole unaufhörlich durch &quot;goto&quot; läuft dann sehe ich diese zahlenfolge:</p>
<p>015625<br />
031250<br />
046875<br />
062500<br />
078125<br />
093750<br />
109375<br />
125000<br />
140625<br />
156250<br />
171875<br />
187500<br />
203125<br />
218750<br />
234375<br />
250000<br />
265625<br />
281250<br />
296875<br />
312500<br />
328125<br />
343750<br />
359375<br />
375000<br />
390625<br />
406250<br />
421875<br />
437500<br />
453125<br />
468750<br />
484375<br />
500000<br />
515625<br />
531250<br />
546875<br />
562500<br />
578125<br />
593750<br />
609375<br />
625000<br />
640625<br />
656250<br />
671875<br />
687500<br />
703125<br />
718750<br />
734375<br />
750000<br />
765625<br />
781250<br />
796875<br />
....<br />
( eigentlich wiederholen sie sich mehrmals, so:<br />
734375<br />
734375<br />
734375<br />
734375<br />
734375<br />
750000<br />
750000<br />
750000<br />
750000<br />
750000<br />
765625<br />
ich hab die nur gekürzt<br />
)</p>
<p>Also immer nur alle: Mikrosekunden 15625. Die ersten 2 müssten Millisekunden sein äh..ich hab die Norm wieder vergessen. Egal aber es sind schon 0,15 Sekunden ungenau. Geht das denn nicht genauer????</p>
<p>zweite frage: kann man nur die Mikrosekunden anzeigen lassen? Oder so ne Art Zeitstempel?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/165149/mikrosekunden-rausholen-geht-immer-noch-nicht-gescheit</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 06:35:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/165149.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 16 Nov 2006 04:09:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to mikrosekunden rausholen geht immer noch nicht gescheit! on Thu, 16 Nov 2006 04:17:02 GMT]]></title><description><![CDATA[<p>hi, ich habe mit mühe boost c++ initialisert obwohl ich noob bin</p>
<p>es geht bei mir darum, rausfinden wie lange es dauert, bis eine Funktion durchgelaufen ist. Das eigentliche Ziel ist, wieviel performance es verbraucht.</p>
<p>ich hab boost genommen damit ich mikrosekunden ablesen kann. scheint aber nicht zu gehen: Ich hab eine Konsolenanwendung geschrieben welches die Mikrosekunden wiedergibt.</p>
<p>mit mühe in dokumentation die scripte (posix) rausgeholt, obwohl ich englisch lesen schlecht bin<br />
<a href="http://www.boost.org/doc/html/date_time/posix_time.html#date_time.posix_time.ptime_class" rel="nofollow">http://www.boost.org/doc/html/date_time/posix_time.html#date_time.posix_time.ptime_class</a></p>
<p>hier mal kurz der code den ich geschrieben hab:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;boost/date_time/posix_time/posix_time.hpp&quot;

int main() {
  using namespace boost::posix_time;

int x;

nochmal:

std::cin &gt;&gt; x;   // Eingabe für Wiederholungen.

ptime t(microsec_clock::universal_time());

for (int i = 0; i &lt; x; i++) {
	std::cout &lt;&lt; &quot;irgendwas &quot; &lt;&lt; std::endl;
}

ptime t1(microsec_clock::universal_time());
std::cout &lt;&lt; t &lt;&lt; std::endl;
std::cout &lt;&lt; t1 &lt;&lt; std::endl;
goto nochmal;                    //nochmal testen
return 0;
}
</code></pre>
<p>Ausgabe wäre dann z.b.:</p>
<blockquote>
<p>5<br />
irgendwas<br />
irgendwas<br />
irgendwas<br />
irgendwas<br />
irgendwas<br />
2006-Nov-16 04:06:35.750000<br />
2006-Nov-16 04:06:35.765625</p>
</blockquote>
<p>erste zeile: <em>2006-Nov-16 04:06:35.750000</em> wäre start<br />
dann kommt der Durchlauf mit &quot;irgendwas&quot;-Zeilen<br />
und zweite: <em>2006-Nov-16 04:06:35.765625</em> wäre stopp. Solange hat es dann gedauert.</p>
<p>wenn ich jetzt statt zahl ne buchstabe eintippe so dass die konsole unaufhörlich durch &quot;goto&quot; läuft dann sehe ich diese zahlenfolge:</p>
<p>015625<br />
031250<br />
046875<br />
062500<br />
078125<br />
093750<br />
109375<br />
125000<br />
140625<br />
156250<br />
171875<br />
187500<br />
203125<br />
218750<br />
234375<br />
250000<br />
265625<br />
281250<br />
296875<br />
312500<br />
328125<br />
343750<br />
359375<br />
375000<br />
390625<br />
406250<br />
421875<br />
437500<br />
453125<br />
468750<br />
484375<br />
500000<br />
515625<br />
531250<br />
546875<br />
562500<br />
578125<br />
593750<br />
609375<br />
625000<br />
640625<br />
656250<br />
671875<br />
687500<br />
703125<br />
718750<br />
734375<br />
750000<br />
765625<br />
781250<br />
796875<br />
....<br />
( eigentlich wiederholen sie sich mehrmals, so:<br />
734375<br />
734375<br />
734375<br />
734375<br />
734375<br />
750000<br />
750000<br />
750000<br />
750000<br />
750000<br />
765625<br />
ich hab die nur gekürzt<br />
)</p>
<p>Also immer nur alle: Mikrosekunden 15625. Die ersten 2 müssten Millisekunden sein äh..ich hab die Norm wieder vergessen. Egal aber es sind schon 0,15 Sekunden ungenau. Geht das denn nicht genauer????</p>
<p>zweite frage: kann man nur die Mikrosekunden anzeigen lassen? Oder so ne Art Zeitstempel?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175615</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Thu, 16 Nov 2006 04:17:02 GMT</pubDate></item><item><title><![CDATA[Reply to mikrosekunden rausholen geht immer noch nicht gescheit! on Thu, 16 Nov 2006 05:56:12 GMT]]></title><description><![CDATA[<p>hallo</p>
<p>zu solcherlei würde ich auf volkards gesammeltes wissen um zeit zurückgreifen.<br />
<a href="http://www.google.de/custom?hl=de&amp;oe=ISO-8859-1&amp;client=pub-3727475938645712&amp;channel=7016866653&amp;cof=FORID:1%3BL:http://www.c-plusplus.net/cms/images/logo.gif%3BLH:50%3BLW:281%3BLBGC:EAEDF4%3BGL:1%3BBGC:%23eaedf4%3BLC:%23dd6900%3BGALT:%23006699%3BGFNT:%23006699%3BGIMP:%23006699%3BDIV:%23006699%3BS:http://www.c-plusplus.net/forum%3B&amp;domains=www.c-plusplus.net&amp;sitesearch=www.c-plusplus.net&amp;sa=X&amp;oi=spell&amp;resnum=0&amp;ct=result&amp;cd=1&amp;q=volkard+mikrosekunden&amp;spell=1" rel="nofollow">http://www.google.de/custom?hl=de&amp;oe=ISO-8859-1&amp;client=pub-3727475938645712&amp;channel=7016866653&amp;cof=FORID:1%3BL:http://www.c-plusplus.net/cms/images/logo.gif%3BLH:50%3BLW:281%3BLBGC:EAEDF4%3BGL:1%3BBGC:%23eaedf4%3BLC:%23dd6900%3BGALT:%23006699%3BGFNT:%23006699%3BGIMP:%23006699%3BDIV:%23006699%3BS:http://www.c-plusplus.net/forum%3B&amp;domains=www.c-plusplus.net&amp;sitesearch=www.c-plusplus.net&amp;sa=X&amp;oi=spell&amp;resnum=0&amp;ct=result&amp;cd=1&amp;q=volkard+mikrosekunden&amp;spell=1</a><br />
<a href="http://www.google.de/custom?domains=www.c-plusplus.net&amp;q=volkard+millisekunden&amp;sa=Suchen&amp;sitesearch=www.c-plusplus.net&amp;client=pub-3727475938645712&amp;forid=1&amp;channel=7016866653&amp;ie=ISO-8859-1&amp;oe=ISO-8859-1&amp;cof=GALT%3A%23006699%3BGL%3A1%3BDIV%3A%23006699%3BVLC%3ADD6900%3BAH%3Acenter%3BBGC%3AEAEDF4%3BLBGC%3AEAEDF4%3BALC%3ADD6900%3BLC%3ADD6900%3BT%3A000000%3BGFNT%3A006699%3BGIMP%3A006699%3BLH%3A114%3BLW%3A642%3BL%3Ahttp%3A%2F%2Fwww.c-plusplus.net%2Fcms%2Fimages%2Flogo.gif%3BS%3Ahttp%3A%2F%2Fwww.c-plusplus.net%2Fforum%3BFORID%3A1%3B&amp;hl=de" rel="nofollow">http://www.google.de/custom?domains=www.c-plusplus.net&amp;q=volkard+millisekunden&amp;sa=Suchen&amp;sitesearch=www.c-plusplus.net&amp;client=pub-3727475938645712&amp;forid=1&amp;channel=7016866653&amp;ie=ISO-8859-1&amp;oe=ISO-8859-1&amp;cof=GALT%3A%23006699%3BGL%3A1%3BDIV%3A%23006699%3BVLC%3ADD6900%3BAH%3Acenter%3BBGC%3AEAEDF4%3BLBGC%3AEAEDF4%3BALC%3ADD6900%3BLC%3ADD6900%3BT%3A000000%3BGFNT%3A006699%3BGIMP%3A006699%3BLH%3A114%3BLW%3A642%3BL%3Ahttp%3A%2F%2Fwww.c-plusplus.net%2Fcms%2Fimages%2Flogo.gif%3BS%3Ahttp%3A%2F%2Fwww.c-plusplus.net%2Fforum%3BFORID%3A1%3B&amp;hl=de</a><br />
ich erinner mich, dass er auf assemblerebene dazu genauso wie mit api funktionen gearbeitet hat.. einfach mal stöbern, vielleicht passt was.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175617</guid><dc:creator><![CDATA[elise]]></dc:creator><pubDate>Thu, 16 Nov 2006 05:56:12 GMT</pubDate></item><item><title><![CDATA[Reply to mikrosekunden rausholen geht immer noch nicht gescheit! on Thu, 16 Nov 2006 08:14:29 GMT]]></title><description><![CDATA[<p>Benutzt du zufällig Windows? Weil dann lies mal das hier, aus der Dokumentation zu ptime t(microsec_clock::local_time()):</p>
<blockquote>
<p>Get the local time using a sub second resolution clock. On Unix systems this is implemented using GetTimeOfDay. On most Win32 platforms it is implemented using ftime. Win32 systems often do not achieve microsecond resolution via this API. If higher resolution is critical to your application test your platform to see the achieved resolution.</p>
</blockquote>
<p>Da steht eindeutig, das Win32 Systeme hier meistens keine Microsekunden liefern. Sag uns doch bitte einfach mal welche Platform du nutzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175676</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Thu, 16 Nov 2006 08:14:29 GMT</pubDate></item><item><title><![CDATA[Reply to mikrosekunden rausholen geht immer noch nicht gescheit! on Thu, 16 Nov 2006 08:24:32 GMT]]></title><description><![CDATA[<p>Benutz QueryPerformanceCounter/QueryPerformanceFrequency aus der WinAPI.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175682</guid><dc:creator><![CDATA[oooooooo]]></dc:creator><pubDate>Thu, 16 Nov 2006 08:24:32 GMT</pubDate></item><item><title><![CDATA[Reply to mikrosekunden rausholen geht immer noch nicht gescheit! on Thu, 16 Nov 2006 08:28:21 GMT]]></title><description><![CDATA[<p>Achja, sag uns doch noch bitte, welchen Compiler du verwendest. Denn laut <a href="http://www.boost.org/doc/html/date_time/details.html#date_time.buildinfo" rel="nofollow">http://www.boost.org/doc/html/date_time/details.html#date_time.buildinfo</a> sind Microsekunden nicht mit allen Windows Compilern möglich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175686</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175686</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Thu, 16 Nov 2006 08:28:21 GMT</pubDate></item><item><title><![CDATA[Reply to mikrosekunden rausholen geht immer noch nicht gescheit! on Thu, 16 Nov 2006 08:35:09 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Benutzt du zufällig Windows? Weil dann lies mal das hier, aus der Dokumentation zu ptime t(microsec_clock::local_time()):</p>
<blockquote>
<p>Get the local time using a sub second resolution clock. On Unix systems this is implemented using GetTimeOfDay. On most Win32 platforms it is implemented using ftime. Win32 systems often do not achieve microsecond resolution via this API. If higher resolution is critical to your application test your platform to see the achieved resolution.</p>
</blockquote>
<p>Da steht eindeutig, das Win32 Systeme hier meistens keine Microsekunden liefern. Sag uns doch bitte einfach mal welche Platform du nutzt.</p>
</blockquote>
<p>hmm ja ich benütze Windows XP, AMD64 prozessor. jemand hat gesagt ich soll das benützten weil es plattformunabhängig ist. ja ok hab mir schon gedacht das da was mit Windows nicht gut gehen könnte. ich hab was mit nano verwechselt. nun ja, heisst es also, es geht mit boost nicht?</p>
<p>ich hab mal die von volkard durchgesucht, nur krieg ich die nicht funktionierend hin. ich benütze visual studio 8. die quellcodes die da angegegeben scheinen nicht vollständig zu sein. und andere sind für borland gedacht? hat vielleicht jemand ein funktionierender code für zeitmessung? mit start und stopp? ich suche danach solange und verschwende mehrere stunden. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>EDIT: oha! mit der hier geht:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;windows.h&gt;
using namespace std;

int main() {

LARGE_INTEGER start_ticks, ende_ticks, frequenz;

double tick_diff     = 0;
start_ticks.QuadPart = 0;
ende_ticks.QuadPart  = 0;

QueryPerformanceCounter(&amp;start_ticks);
QueryPerformanceFrequency(&amp;frequenz);

// ... hier irgendwas machen ...

for (int i = 0; i &lt; 100; i++) {

	cout &lt;&lt; &quot; irgendwas &quot; &lt;&lt; endl;

}

QueryPerformanceCounter(&amp;ende_ticks);

// benötigte zeit berechnen
tick_diff = ((double) ende_ticks.QuadPart - (double) start_ticks.QuadPart) / frequenz.QuadPart;
cout &lt;&lt; tick_diff &lt;&lt; endl;

cin.get();
}
</code></pre>
<p>geht nur auf windows oder? naja immerhin! ist dann auch egal. für andere wechsle ich dann auf boost um. wenn ihr noch tipps hat, sags mir! vielen dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175692</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Thu, 16 Nov 2006 08:35:09 GMT</pubDate></item><item><title><![CDATA[Reply to mikrosekunden rausholen geht immer noch nicht gescheit! on Thu, 16 Nov 2006 08:42:24 GMT]]></title><description><![CDATA[<p>funktioniert sehr gut. nur variiert sich die zeit ein wenig hm <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="😉"
    /> liegt wohl an multitasking? wenn andere programme noch laufen beeinträchtigt das oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175698</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Thu, 16 Nov 2006 08:42:24 GMT</pubDate></item><item><title><![CDATA[Reply to mikrosekunden rausholen geht immer noch nicht gescheit! on Thu, 16 Nov 2006 09:17:35 GMT]]></title><description><![CDATA[<p>Das liegt dadran dass Windows kein Echtzeit-Betriebssystem ist. Du hast kein vom Betriebssystem garantiertes Antwort-Verhalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175716</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Thu, 16 Nov 2006 09:17:35 GMT</pubDate></item><item><title><![CDATA[Reply to mikrosekunden rausholen geht immer noch nicht gescheit! on Thu, 16 Nov 2006 10:31:21 GMT]]></title><description><![CDATA[<p>7H3 N4C3R schrieb:</p>
<blockquote>
<p>Das liegt dadran dass Windows kein Echtzeit-Betriebssystem ist. Du hast kein vom Betriebssystem garantiertes Antwort-Verhalten.</p>
</blockquote>
<p>heisst das also die leute nehmen lieber linux wenn die wirklich genau testen wollen wie lange bestimmte codes brauchen? und bringen das dann wieder auf windows?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175793</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Thu, 16 Nov 2006 10:31:21 GMT</pubDate></item><item><title><![CDATA[Reply to mikrosekunden rausholen geht immer noch nicht gescheit! on Thu, 16 Nov 2006 10:49:10 GMT]]></title><description><![CDATA[<p>&quot;Linux&quot; ist per se auch kein Echtzeitbetriebssystem. Aber es gibt diverse RT-Modifikationen für Linux.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175811</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Thu, 16 Nov 2006 10:49:10 GMT</pubDate></item><item><title><![CDATA[Reply to mikrosekunden rausholen geht immer noch nicht gescheit! on Thu, 16 Nov 2006 10:51:21 GMT]]></title><description><![CDATA[<p>Realtime-Betriebssysteme gibts nicht auf dem Mainstreammarkt. Mußte dich in der Indurtrie umschauen. Das wohl bekannteste RT-OS ist QNX!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175813</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Thu, 16 Nov 2006 10:51:21 GMT</pubDate></item><item><title><![CDATA[Reply to mikrosekunden rausholen geht immer noch nicht gescheit! on Thu, 16 Nov 2006 16:23:07 GMT]]></title><description><![CDATA[<p>xBlackKnightx, du musst bloss eine Wechselwirkung mit dynamischen Arrays einbauen, dann geht das.<br />
Muahahahaha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1176077</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1176077</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 16 Nov 2006 16:23:07 GMT</pubDate></item></channel></rss>