<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Maciej Grabek &#187; Stopwatch</title>
	<atom:link href="https://blog.maciejgrabek.com/tag/stopwatch/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.maciejgrabek.com</link>
	<description>/* Make it See Sharp - Windows Phone, C#, .NET i nie tylko */</description>
	<lastBuildDate>Mon, 27 Oct 2014 11:18:40 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>Stopwatch &#8211; zmierz się z czasem!</title>
		<link>https://blog.maciejgrabek.com/2010/08/03/stopwatch-zmierz-sie-z-czasem/</link>
		<comments>https://blog.maciejgrabek.com/2010/08/03/stopwatch-zmierz-sie-z-czasem/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 19:56:00 +0000</pubDate>
		<dc:creator><![CDATA[maciek]]></dc:creator>
				<category><![CDATA[HOW TO]]></category>
		<category><![CDATA[Stopwatch]]></category>

		<guid isPermaLink="false">http://maciejgrabek.com/maciek_blog/?p=9993</guid>
		<description><![CDATA[Podczas naszej pracy często zdarza się nam zastanawiać jak szybko działa dany fragment kodu. Aby to sprawdzić wystarczy skorzystać z klasy Stopwatch znajdującej się w przestrzeni nazw System.Diagnostics. Najczęściej będziemy korzystać z oferowanych przez obiekt tego typu metod Start() i Stop() oraz właściwości Elapsed. Sprawdźmy zatem jak długo potrwa pusta pętla przez cały zakres Int32:   1 private static void StopwatchDemo()   2 {   3     Console.WriteLine(&#8220;For loop from 1 to {0} time test&#8221;, Int32.MaxValue);   4     Stopwatch sw = new Stopwatch();   5     sw.Start();   6     for (int i = 0; i &#60; Int32.MaxValue; i++) ;   7     sw.Stop();   8     Console.WriteLine(&#8220;Elapsed time {0}&#8221;, sw.Elapsed);   9     Console.WriteLine(&#8220;Press [Enter] to close&#8221;); 10     Console.ReadLine(); 11 } A oto wynik działania kodu: Jest też możliwość wielokrotnego wykorzystania obiektu Stopwatch używając metody Reset(), która zeruje jego wartość: sw.Reset();   Jeżeli nie zresetujemy obiektu, wówczas wykonanie metody Start() spowoduje naliczanie czasu począwszy od jego poprzedniej wartości.   1 private static void StopwatchNoResetDemo()   2 {   3     Console.WriteLine(&#8220;Stopwatch without Reset() test&#8221;);   4     Stopwatch sw = new Stopwatch();   5     for (int i = 0; i &#60; 5; i++)   6     {   7         sw.Start();   8         for (int j = 0; j &#60; 10000000; j++) ;<a href="https://blog.maciejgrabek.com/2010/08/03/stopwatch-zmierz-sie-z-czasem/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
				<content:encoded><![CDATA[<p>Podczas naszej pracy często zdarza się nam zastanawiać jak szybko działa dany fragment kodu. Aby to sprawdzić wystarczy skorzystać z klasy <span style="font-family: Consolas;">Stopwatch</span> znajdującej się w przestrzeni nazw <span style="font-family: Consolas;">System.Diagnostics</span>.</p>
<p>Najczęściej będziemy korzystać z oferowanych przez obiekt tego typu metod <span style="font-family: Consolas;">Start()</span> i <span style="font-family: Consolas;">Stop()</span> oraz właściwości <span style="font-family: Consolas;">Elapsed. </span>Sprawdźmy zatem jak długo potrwa pusta pętla przez cały zakres Int32:</p>
<div style="font-family: courier new;"><span style="color: teal;">  1</span> <span style="color: blue;">private</span> <span style="color: blue;">static</span> <span style="color: blue;">void</span> StopwatchDemo()<br />
<span style="color: teal;">  2</span> {<br />
<span style="color: teal;">  3</span>     Console.WriteLine(<span style="color: maroon;">&#8220;For loop from 1 to {0} time test&#8221;</span>, Int32.MaxValue);<br />
<span style="color: teal;">  4</span>     Stopwatch sw = <span style="color: blue;">new</span> Stopwatch();<br />
<span style="color: teal;">  5</span>     sw.Start();<br />
<span style="color: teal;">  6</span>     <span style="color: blue;">for</span> (<span style="color: blue;">int</span> i = <span style="color: maroon;">0</span>; i &lt; Int32.MaxValue; i++) ;<br />
<span style="color: teal;">  7</span>     sw.Stop();<br />
<span style="color: teal;">  8</span>     Console.WriteLine(<span style="color: maroon;">&#8220;Elapsed time {0}&#8221;</span>, sw.Elapsed);<br />
<span style="color: teal;">  9</span>     Console.WriteLine(<span style="color: maroon;">&#8220;Press [Enter] to close&#8221;</span>);<br />
<span style="color: teal;">10</span>     Console.ReadLine();<br />
<span style="color: teal;">11</span> }</div>
<p>A oto wynik działania kodu:</p>
<p><a rel="WLPP" href="https://mgh8dg.blu.livefilestore.com/y1m0GwpJ4wm3ztbLL8k9eF-qs384kYFD0tpUlC4fi1j7HSRPJYNmk1Gom4wtZIfysaeTpiKFs9ojrCGQk6cTNgjFtJ-DwgHm4IJRhDzQd7-RG1In9dn6U_eTrynCH4C6PWWDqgMqv18RJpaP4iB34ZSIg/image[3] 2617495C.png?download&amp;psid=1"></a></p>
<p><a href="http://maciejgrabek.com/wp-content/uploads/2010/08/stopwatch_result1.png"><img class="alignnone size-full wp-image-10119" title="stopwatch_result1" src="http://maciejgrabek.com/wp-content/uploads/2010/08/stopwatch_result1.png" alt="" width="640" height="101" /></a></p>
<p>Jest też możliwość wielokrotnego wykorzystania obiektu Stopwatch używając metody <span style="font-family: Consolas;">Reset(),</span><span style="font-family: Segoe UI;"> która zeruje jego wartość:</span></p>
<div style="font-family: courier new;">sw.Reset();</div>
<div style="font-family: courier new;"> </div>
<p>Jeżeli nie zresetujemy obiektu, wówczas wykonanie metody <span style="font-family: Consolas;">Start()</span> spowoduje naliczanie czasu począwszy od jego poprzedniej wartości.</p>
<div style="font-family: courier new;"><span style="color: teal;">  1</span> <span style="color: blue;">private</span> <span style="color: blue;">static</span> <span style="color: blue;">void</span> StopwatchNoResetDemo()<br />
<span style="color: teal;">  2</span> {<br />
<span style="color: teal;">  3</span>     Console.WriteLine(<span style="color: maroon;">&#8220;Stopwatch without Reset() test&#8221;</span>);<br />
<span style="color: teal;">  4</span>     Stopwatch sw = <span style="color: blue;">new</span> Stopwatch();<br />
<span style="color: teal;">  5</span>     <span style="color: blue;">for</span> (<span style="color: blue;">int</span> i = <span style="color: maroon;">0</span>; i &lt; <span style="color: maroon;">5</span>; i++)<br />
<span style="color: teal;">  6</span>     {<br />
<span style="color: teal;">  7</span>         sw.Start();<br />
<span style="color: teal;">  8</span>         <span style="color: blue;">for</span> (<span style="color: blue;">int</span> j = <span style="color: maroon;">0</span>; j &lt; <span style="color: maroon;">10000000</span>; j++) ;<br />
<span style="color: teal;">  9</span>         sw.Stop();<br />
<span style="color: teal;">10</span>         Console.WriteLine(<span style="color: maroon;">&#8220;Elapsed time for i={0} loop: {1}&#8221;</span>, i, sw.Elapsed);<br />
<span style="color: teal;">11</span>     }<br />
<span style="color: teal;">12</span>     Console.WriteLine(<span style="color: maroon;">&#8220;Press [Enter] to close&#8221;</span>);<br />
<span style="color: teal;">13</span>     Console.ReadLine();<br />
<span style="color: teal;">14</span> }</div>
<p> </p>
<p>A oto wynik:</p>
<p><a rel="WLPP" href="https://mgh8dg.blu.livefilestore.com/y1mnRgMbUQTI3cHhLNdpUPR65WxfRP-VoLqHXKbLSa9n-mD0oPjdDqxSJEAL8vbRw9_60pZMvRCe7v4yEZcjBkf_40sLiyjM5gySJMirswZIWFPvboHCXLtZuKPgj_D5HYrkVrElp3mSB9dogK3ph7cRg/image[7] 60AE80CB.png?download&amp;psid=1"></a><a href="http://maciejgrabek.com/wp-content/uploads/2010/08/stopwatch_result2.png"><img class="alignnone size-full wp-image-10120" title="stopwatch_result2" src="http://maciejgrabek.com/wp-content/uploads/2010/08/stopwatch_result2.png" alt="" width="640" height="133" /></a> </p>
<p>Jak widać ta prosta do wykorzystania klasa pozwala dokładnie znaleźć miejsca, które są najwolniejsze i być może uda się je zoptymalizować&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.maciejgrabek.com/2010/08/03/stopwatch-zmierz-sie-z-czasem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
