<?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>Ryan Cromwell &#187; Performance</title>
	<atom:link href="http://blog.cromwellhaus.com/index.php/category/performance/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.cromwellhaus.com</link>
	<description>Improving my craft...</description>
	<lastBuildDate>Tue, 07 Feb 2012 15:06:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>1 reason to stick with Windows Virtual PC</title>
		<link>http://blog.cromwellhaus.com/2009/07/1-reason-to-stick-with-windows-virtual-pc/</link>
		<comments>http://blog.cromwellhaus.com/2009/07/1-reason-to-stick-with-windows-virtual-pc/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 01:27:28 +0000</pubDate>
		<dc:creator>cromwellryan</dc:creator>
				<category><![CDATA[OS]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Virtual PC]]></category>

		<guid isPermaLink="false">/blogs/ryanc/archive/2009/07/09/1-reason-to-stick-with-windows-virtual-pc.aspx</guid>
		<description><![CDATA[For those who aren’t aware, Windows 7 (which I absolutely love) has the ability to mount and run native Virtual PC VHD’s.&#160; This is huge, but it isn’t exactly a cake walk.&#160; That is until now!&#160; DevHawk has provided a PowerShell script to make life beautiful.&#160; Never complain about your Virtual machine performance again… get [...]]]></description>
			<content:encoded><![CDATA[<p>For those who aren’t aware, Windows 7 (which I absolutely love) has the ability to mount and run native Virtual PC VHD’s.&#160; This is huge, but it <a href="http://www.hanselman.com/blog/LessVirtualMoreMachineWindows7AndTheMagicOfBootToVHD.aspx" target="_blank">isn’t exactly a cake walk</a>.&#160; That is until now!&#160; <a href="http://devhawk.net/#" target="_blank">DevHawk</a> has <a href="http://devhawk.net/2009/06/18/AddBcdVhdps1.aspx" target="_blank">provided a PowerShell script</a> to make life beautiful.&#160; Never complain about your Virtual machine performance again… get (all but disk) native performance.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cromwellhaus.com/2009/07/1-reason-to-stick-with-windows-virtual-pc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Outlook 2007 Huge Performance Improvement</title>
		<link>http://blog.cromwellhaus.com/2009/03/outlook-2007-huge-performance-improvement/</link>
		<comments>http://blog.cromwellhaus.com/2009/03/outlook-2007-huge-performance-improvement/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 17:32:44 +0000</pubDate>
		<dc:creator>cromwellryan</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[Software Reviews]]></category>

		<guid isPermaLink="false">/blogs/ryanc/archive/2009/03/26/outlook-2007-huge-performance-improvement.aspx</guid>
		<description><![CDATA[If you use Outlook 2007 go get this hotfix (download here) now.&#160; It’s crazy faster after this update. &#160; Hurry!]]></description>
			<content:encoded><![CDATA[<p>If you use Outlook 2007 go get <a href="http://msexchangeteam.com/archive/2009/03/24/450881.aspx" target="_blank">this hotfix</a> (<a href="http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=961752&amp;kbln=en-us" target="_blank">download here</a>) now.&#160; It’s crazy faster after this update.</p>
<p>&#160;</p>
<p>Hurry!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cromwellhaus.com/2009/03/outlook-2007-huge-performance-improvement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PerformanceHelper.cs Update: Perfmon, Console, and Debug Output options</title>
		<link>http://blog.cromwellhaus.com/2007/10/performancehelper-cs-update-perfmon-console-and-debug-output-options/</link>
		<comments>http://blog.cromwellhaus.com/2007/10/performancehelper-cs-update-perfmon-console-and-debug-output-options/#comments</comments>
		<pubDate>Sat, 27 Oct 2007 00:36:59 +0000</pubDate>
		<dc:creator>cromwellryan</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">/blogs/ryanc/archive/2007/10/26/performancehelper-cs-update-perfmon-console-and-debug-output-options.aspx</guid>
		<description><![CDATA[I&#8217;ve updated my PerformanceHelper&#160;class that I&#8217;ll throw around certain code blocks to help trend or monitor performance.&#160; Before it was merely a PerformanceCounter&#160;wrapper with a few metrics, but now you can specify Console, Debug and/or Perfmon.&#160; You do this by using an XOR (&#160;&#8217;&#124;&#8217; ) in a new Constructor.&#160; Here&#8217;s an example which outputs to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve updated my <a href="http://cromwellhaus.com/files/folders/netcode/entry172.aspx">PerformanceHelper</a>&nbsp;class that I&#8217;ll throw around certain code blocks to help trend or monitor performance.&nbsp; Before it was merely a <a href="http://msdn2.microsoft.com/en-us/library/system.diagnostics.performancecounter.aspx">PerformanceCounter</a>&nbsp;wrapper with a few metrics, but now you can specify Console, Debug and/or Perfmon.&nbsp; You do this by using an XOR (&nbsp;&#8217;|&#8217; ) in a new Constructor.&nbsp; Here&#8217;s an example which outputs to Debug.WriteLine and PerfMon:</p>
<blockquote><pre class="code"><span style="color: rgb(0,0,255)">for</span> (<span style="color: rgb(0,0,255)">int</span> index = 0; index &lt; 10; index++)
{
    <span style="color: rgb(0,0,255)">using</span> (<span style="color: rgb(0,0,255)">new</span> <span style="color: rgb(43,145,175)">PerformanceHelper</span>(<span style="color: rgb(163,21,21)">"ConsoleSample"</span>,
        <span style="color: rgb(163,21,21)">"Perfmon Sample"</span>, <span style="color: rgb(43,145,175)">OutputOptions</span>.Debug | <span style="color: rgb(43,145,175)">OutputOptions</span>.Perfmon))
    {
        <span style="color: rgb(43,145,175)">Thread</span>.Sleep(500);
    }
}</pre>
</blockquote>
<p>The method that does the Output to Console and Debug is marked&nbsp;as [<span style="color: rgb(43,145,175)">Conditional</span>(<span style="color: rgb(163,21,21)">"DEBUG"</span>)], because you really should have a better strategy for performance monitoring in production and you don&#8217;t want that hit for each block that you wrapped. </p>
<p>Note to Vista Developers:&nbsp; You will have problems creating custom performance counters at runtime based on registry access.&nbsp; To support this in a client based app, you will need to specify an application manifest and mark it with the following: &nbsp;</p>
<blockquote><pre class="code"><span style="color: rgb(0,128,0)">&lt;requestedExecutionLevel  level="requireAdministrator" /&gt;</span></pre>
</blockquote>
<p>For more information on application manifests, <a href="http://blogs.msdn.com/knom/archive/2007/06/11/vista-user-account-control-with-net.aspx">read this</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cromwellhaus.com/2007/10/performancehelper-cs-update-perfmon-console-and-debug-output-options/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PerformanceHelper for easy PerformanceCounter integration</title>
		<link>http://blog.cromwellhaus.com/2007/04/performancehelper-for-easy-performancecounter-integration/</link>
		<comments>http://blog.cromwellhaus.com/2007/04/performancehelper-for-easy-performancecounter-integration/#comments</comments>
		<pubDate>Thu, 19 Apr 2007 14:26:11 +0000</pubDate>
		<dc:creator>cromwellryan</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">/blogs/ryanc/archive/2007/04/19/performancehelper-for-easy-performancecounter-integration.aspx</guid>
		<description><![CDATA[In the Speedy Rewards&#160;team here we use custom&#160;PerformanceCounters quite extensively to monitor and trend our host systems.&#160; You may not know, but our rewards program implements real-time host integration for transactions that are Id&#8217;ed as a SpeedyRewards&#160;member such that systems like the in-store kiosk, www.SpeedyRewards.com, and any other store you may soon visit can accurately [...]]]></description>
			<content:encoded><![CDATA[<p>In the <a title="Speedway SpeedyRewards&trade;" href="http://www.speedyrewards.com">Speedy Rewards</a>&nbsp;team here we use custom&nbsp;<a href="http://msdn2.microsoft.com/en-us/library/system.diagnostics.performancecounter.aspx">PerformanceCounters</a> quite extensively to monitor and trend our host systems.&nbsp; You may not know, but our rewards program implements real-time host integration for transactions that are Id&#8217;ed as a <a href="http://www.speedyrewards.com">SpeedyRewards</a>&nbsp;member such that systems like the in-store kiosk, <a href="http://www.SpeedyRewards.com">www.SpeedyRewards.com</a>, and any other store you may soon visit can accurately reflect balance updates immediately.&nbsp; With 1600+ stores doing this and a sub-1 second response time, we need to keep a close eye on things.</p>
<p>Today I was trying to do some preliminary performance profiling on our new WCF based messaging infrastructure.&nbsp; To make my life a little easier, I&nbsp;put together&nbsp;a PerformanceHelper&nbsp;class that I actually modeling off the Tracer class found in the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=a7d2a109-660e-444e-945a-6b32af1581b3&amp;displaylang=en">Enterprise Library 1.1</a>.&nbsp; To use it, you wrap a section of code you wish to monitor performance for with the following:</p>
<blockquote><pre class="code"><span style="color: rgb(0,0,255)">using</span>(<span style="color: rgb(0,0,255)">new</span> <span style="color: rgb(0,128,128)">PerformanceHelper</span>(CATEGORY, <span style="color: rgb(128,0,0)">"&lt;BlockInstanceName&gt;"</span>) )
{
    <span style="color: rgb(0,128,0)">//...
</span>}</pre>
</blockquote>
<p>This will provide you with a <a href="http://msdn2.microsoft.com/en-us/library/system.diagnostics.performancecountertype.aspx">RateOfCountsPerSecond32</a> counter and an <a href="http://msdn2.microsoft.com/en-us/library/system.diagnostics.performancecountertype.aspx">AverageTimer32</a> counter&nbsp;called &#8220;Operations/sec\&lt;BlockInstanceName&gt;&#8221; and &#8220;Average Time/Operation\&lt;BlockInstanceName&gt;&#8221; respectively.&nbsp; You can download the&nbsp;<a title="PerformanceHelper.cs" href="http://cromwellhaus.com/files/folders/netcode/entry172.aspx">PerformanceHelper class here</a> and a <a title="Performance Helper Sample Project" href="http://cromwellhaus.com/files/folders/netcode/entry173.aspx">sample project here</a>.&nbsp; </p>
<p>Feel free to use and abuse it, but be aware that this has not fully tested and may well contain bugs.&nbsp; <em>I provide NO warranty or guarantees</em>, so don&#8217;t come to me when your server blue-screens from a corrupt registry (not that I&#8217;ve ever done that).&nbsp; Use at your own peril.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cromwellhaus.com/2007/04/performancehelper-for-easy-performancecounter-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

