<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Vlad Hrybok's Tech Notes - Performance</title>
    <link>http://vladsnotes.hrybok.com/</link>
    <description>The future of Internet is &lt;a href='http://httpvpn.com'&gt;HttpVPN&lt;/a&gt;...</description>
    <language>en-us</language>
    <copyright>Vlad Hrybok</copyright>
    <lastBuildDate>Tue, 18 Aug 2009 15:52:47 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>vgribok@dodgeit.com</managingEditor>
    <webMaster>vgribok@dodgeit.com</webMaster>
    <item>
      <trackback:ping>http://vladsnotes.hrybok.com/Trackback.aspx?guid=b337fd48-7f00-4633-a31a-2a22352fbf90</trackback:ping>
      <pingback:server>http://vladsnotes.hrybok.com/pingback.aspx</pingback:server>
      <pingback:target>http://vladsnotes.hrybok.com/PermaLink,guid,b337fd48-7f00-4633-a31a-2a22352fbf90.aspx</pingback:target>
      <dc:creator>Vlad Hrybok</dc:creator>
      <wfw:comment>http://vladsnotes.hrybok.com/CommentView,guid,b337fd48-7f00-4633-a31a-2a22352fbf90.aspx</wfw:comment>
      <wfw:commentRss>http://vladsnotes.hrybok.com/SyndicationService.asmx/GetEntryCommentsRss?guid=b337fd48-7f00-4633-a31a-2a22352fbf90</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Update: here's a very good <a href="http://www.ocztechnologyforum.com/forum/showthread.php?t=52912">walk-through</a> of
setting up BIOS on Intel chipset motherboard for OCZ SSD RAID array. 
</p>
        <p>
Since I was about to clean up my system anyway, I decided not only to install Windows
7, but also bite the bullet and get two SSD drives and put them into striped RAID
configuration. I did it last weekend and yes, rumors are true: the performance boost
you get from SSDs, especially from RAID-0 SSDs is by far the most noticeable and exciting
in a generation. (From this point on, spindle hard drives are entering their twilight
years, and pretty soon they will be where CRT displays are now.) It's kind
of perverse, but perf improvement is so drastic that it now takes less time for Windows
to boot than for the motherboard to finish the POST!
</p>
        <p>
Here are points that might be useful for those trying to do similar setup.
</p>
        <p>
- Not every SSD drive can be used in RAID configuration. At this point you need to
stick with SSD drives having <strong>Indilinx controller</strong>. 60GB MLC drives
like <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820227394">OCZ
Vertex</a>, <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820233090">Corsair
Extreme</a>, and <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820227461">OCZ
Agility</a> (the one I got, <a href="http://www.cdrinfo.com/Sections/Reviews/Print.aspx?ArticleId=25727">see
the review</a>) - are all reasonably priced and will work well with mainstream motherboards-based
RAID controllers, like Intel Matrix RAID. Two of these drives cost just a little over
what <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820227395">single
128GB drive costs</a>, but two 64GB drives give you two controllers, twice the amount
of on the drive cache, and connection to two separate SATA channels, all of which delivers much
better performance than a single 128GB drive for about the same amount of money.
</p>
        <p>
- Windows 7 does have Intel Matrix RAID driver, so <strong>no need to do the F6</strong> thing
to load it during windows installation.
</p>
        <p>
- If you are putting your drives into a desktop machine, you will need <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16817994072">mounting
brackets</a> to fit 2.5" drives into 3.5" bays.
</p>
        <p>
- Since both Windows 7 and SSD drives are relatively new products, <strong>load the
latest BIOS</strong> for your motherboard before you even connect your drives for
the first time. It's also a good idea to get a relatively recent motherboard
and ensure your mobo does indeed have RAID functionality. For example, if your motherboard
has Intel chipset, letter "R" in ICH10<strong>R</strong> "south bridge" chip name seems
to indicate presence of RAID support.
</p>
        <p>
- If your motherboard has Intel Matrix RAID, <strong>change BIOS</strong> settings
to make sure you put your on-board SATA controller into RAID mode. It actually
should be called AHCI+RAID, because RAID is still AHCI. Non-RAID SATA drives may
still be used when SATA controller in RAID mode with no problem at all.
</p>
        <p>
- Even though Windows 7 comes ready for SSD drives, tweaks like <a href="http://www.ocztechnologyforum.com/forum/attachment.php?attachmentid=7558&amp;amp;stc=1&amp;amp;d=1228254339">disabling SSD
drive indexing</a> will improve either drives' longevity or system performance.
Also, Windows 7 may not see the RAID group as 100% SSD. What it means is that when
Win7 realizes there is an SSD drive in the system, it's supposed to automatically
turn off superfetch and disk defragmentation. In my case it did turn off disk defrag
for my SSD RAID volume, <a href="http://www.ocztechnologyforum.com/forum/attachment.php?attachmentid=7557&amp;stc=1&amp;d=1228252264">but
didn't turn off superfetch</a> - maybe because I have a couple of regular hard drives
also connected (although not members of the RAID array).
</p>
        <p>
- If you wonder whether ATA Trim command (that helps to maintain SSD drives' performance)
is going to work in RAID configuration, then the answer is not yet. Currently, the
choices for SSDs connected to Intel matrix raid controller are either
RAID, or TRIM, but not both together. The reason for that is Intel Matrix Storage
Manager (MSM) driver does not pass through TRIM command - only MS SATA and IDE drivers
for Windows 7 do. So for TRIM one needs to use Microsoft drivers, which do not
support MSM RAID. So if you do RAID, you will need to use Intel MSM driver, and wait
for some future version of MSM that can support TRIM in at least in RAID-0 and
RAID-1 configurations.
</p>
        <p>
- Next version of OCZ firmware for Agility and Vertex SSD drives is expected to have
background "garbage collection" built in, which is supposed to reset NAND cells while
drives are idling.
</p>
        <p>
Here's a <a href="http://blogs.msdn.com/e7/archive/2009/05/05/support-and-q-a-for-solid-state-drives-and.aspx">very
good post about SSDs on Windows 7</a>, plus an<strong> </strong><a href="http://www.anandtech.com/printarticle.aspx?i=3607"><strong>absolute
must-read article</strong></a> about most popular SSD drives from AnandTech.com.
</p>
        <p>
ATTO benchmarks:<br />
Take a look a all-important 4KB transfer rates (most common case for non-server
scenarios) - it does astonishing 178MB/s writes and 180MB/s reads:<br /><img border="0" src="http://vladsnotes.hrybok.com/content/binary/2x%20OCZ%20Agility%2060GB%20SSD%20drives%20in%20RAID-0%20on%20Windows%207%20-%20ATTO%20benchmark%20results.png" /></p>
        <p>
Compare it with <a href="http://hothardware.com/image_popup.aspx?image=big_vertex-turbo-atto.jpg&amp;articleid=10402&amp;t=n">53MB/s
writes and 35MB/s reads</a> of $440-worth, fastest 120GB MLC drive - <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820227470">OCZ
Vertex Turbo</a>:<br /><a href="http://hothardware.com/image_popup.aspx?image=big_vertex-turbo-atto.jpg&amp;articleid=10402&amp;t=n"><img src="http://hothardware.com/newsimages/item10402/big_vertex-turbo-atto.jpg" /></a><br /><br />
...or with arguably the best SSD drive there is - <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820167014">$800</a> Intel
X-25E SLC drive - it does <a href="http://www.clunk.org.uk/reviews/kingston-technology-ssdnow-e-series-intel-x25-e-solid-state-drive-review/Page-6.html">104MB/s
writes and 120MB/s reads</a> on 4KB block size:<br /><a href="http://www.clunk.org.uk/reviews/kingston-technology-ssdnow-e-series-intel-x25-e-solid-state-drive-review/Page-6.html"><img src="http://www.images.clunk.org.uk/reviews/Kingston/results/atto/atto-ahci/atto-ahci-matrix.png" /></a></p>
        <p>
 
</p>
        <img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=b337fd48-7f00-4633-a31a-2a22352fbf90" />
      </body>
      <title>Budget SSD RAID-0 on Windows 7</title>
      <guid isPermaLink="false">http://vladsnotes.hrybok.com/PermaLink,guid,b337fd48-7f00-4633-a31a-2a22352fbf90.aspx</guid>
      <link>http://vladsnotes.hrybok.com/PermaLink,guid,b337fd48-7f00-4633-a31a-2a22352fbf90.aspx</link>
      <pubDate>Tue, 18 Aug 2009 15:52:47 GMT</pubDate>
      <description>&lt;p&gt;
Update: here's a very good &lt;a href="http://www.ocztechnologyforum.com/forum/showthread.php?t=52912"&gt;walk-through&lt;/a&gt; of
setting up BIOS on Intel chipset motherboard for OCZ SSD RAID array. 
&lt;/p&gt;
&lt;p&gt;
Since I was about to clean up my system anyway, I decided not only to install Windows
7, but also bite the bullet and get two SSD drives and put them into striped RAID
configuration. I did it last weekend and yes, rumors are true: the performance boost
you get from SSDs, especially from RAID-0 SSDs is by far the most noticeable and exciting
in a generation. (From this point on, spindle hard drives are entering their twilight
years, and&amp;nbsp;pretty soon they&amp;nbsp;will be where CRT displays are now.) It's kind
of perverse, but perf improvement is so drastic that it now takes less time for Windows
to boot than for the motherboard to finish the POST!
&lt;/p&gt;
&lt;p&gt;
Here are points that might be useful for those trying to do&amp;nbsp;similar setup.
&lt;/p&gt;
&lt;p&gt;
- Not every SSD drive can be used in RAID configuration. At this point you need to
stick with SSD drives having &lt;strong&gt;Indilinx controller&lt;/strong&gt;. 60GB MLC drives
like &lt;a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820227394"&gt;OCZ
Vertex&lt;/a&gt;, &lt;a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820233090"&gt;Corsair
Extreme&lt;/a&gt;, and &lt;a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820227461"&gt;OCZ
Agility&lt;/a&gt;&amp;nbsp;(the one I got, &lt;a href="http://www.cdrinfo.com/Sections/Reviews/Print.aspx?ArticleId=25727"&gt;see
the review&lt;/a&gt;) - are all reasonably priced and will work well with mainstream motherboards-based
RAID controllers, like Intel Matrix RAID. Two of these drives cost just a little over
what &lt;a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820227395"&gt;single
128GB drive costs&lt;/a&gt;, but two 64GB drives give you two controllers, twice the amount
of on the drive cache, and&amp;nbsp;connection to two separate SATA channels, all of which&amp;nbsp;delivers&amp;nbsp;much
better performance than a single 128GB drive for about the same amount of money.
&lt;/p&gt;
&lt;p&gt;
- Windows 7 does have Intel Matrix RAID driver, so &lt;strong&gt;no need to do the F6&lt;/strong&gt; thing
to load it during windows installation.
&lt;/p&gt;
&lt;p&gt;
- If you are putting your drives into a desktop machine, you will need &lt;a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16817994072"&gt;mounting
brackets&lt;/a&gt; to fit 2.5" drives into 3.5" bays.
&lt;/p&gt;
&lt;p&gt;
- Since both Windows 7 and SSD drives are relatively new products, &lt;strong&gt;load the
latest BIOS&lt;/strong&gt; for your motherboard before you even connect your drives for
the first time. It's also a good idea to&amp;nbsp;get a&amp;nbsp;relatively recent motherboard
and ensure your mobo does indeed have RAID functionality. For example, if your motherboard
has Intel chipset, letter "R" in ICH10&lt;strong&gt;R&lt;/strong&gt; "south bridge" chip name&amp;nbsp;seems
to indicate presence of RAID support.
&lt;/p&gt;
&lt;p&gt;
- If your motherboard has Intel Matrix RAID, &lt;strong&gt;change BIOS&lt;/strong&gt; settings
to make sure you put your on-board&amp;nbsp;SATA controller into RAID mode. It actually
should be called AHCI+RAID, because&amp;nbsp;RAID is still AHCI. Non-RAID SATA drives&amp;nbsp;may
still be used when SATA controller in RAID mode with no problem at all.
&lt;/p&gt;
&lt;p&gt;
- Even though Windows 7 comes ready for SSD drives, tweaks like &lt;a href="http://www.ocztechnologyforum.com/forum/attachment.php?attachmentid=7558&amp;amp;amp;stc=1&amp;amp;amp;d=1228254339"&gt;disabling&amp;nbsp;SSD
drive&amp;nbsp;indexing&lt;/a&gt;&amp;nbsp;will improve either drives' longevity or system performance.
Also, Windows 7 may not see the RAID group as 100% SSD. What it means is that when
Win7 realizes there is an SSD drive in the system, it's supposed to automatically
turn off superfetch and disk defragmentation. In my case it did turn off disk defrag
for my SSD RAID volume, &lt;a href="http://www.ocztechnologyforum.com/forum/attachment.php?attachmentid=7557&amp;amp;stc=1&amp;amp;d=1228252264"&gt;but
didn't turn off superfetch&lt;/a&gt; - maybe because I have a couple of regular hard drives
also connected (although not members of the RAID array).
&lt;/p&gt;
&lt;p&gt;
- If you wonder whether ATA Trim command (that helps to maintain SSD drives' performance)
is going to work in RAID configuration, then the answer is not yet. Currently, the
choices for SSDs&amp;nbsp;connected to Intel&amp;nbsp;matrix raid controller&amp;nbsp;are either
RAID, or TRIM, but not both together. The reason for that is Intel Matrix Storage
Manager (MSM) driver does not pass through TRIM command - only MS SATA and IDE drivers
for Windows 7 do. So for TRIM one needs to use&amp;nbsp;Microsoft drivers, which do not
support MSM RAID. So if you do RAID, you will need to use Intel MSM driver, and wait
for some future version of MSM that can support TRIM&amp;nbsp;in at least in RAID-0 and
RAID-1 configurations.
&lt;/p&gt;
&lt;p&gt;
- Next version of OCZ firmware for Agility and Vertex SSD drives is expected to have
background "garbage collection" built in, which is supposed to reset NAND cells while
drives are idling.
&lt;/p&gt;
&lt;p&gt;
Here's a &lt;a href="http://blogs.msdn.com/e7/archive/2009/05/05/support-and-q-a-for-solid-state-drives-and.aspx"&gt;very
good&amp;nbsp;post about SSDs on Windows 7&lt;/a&gt;, plus an&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;a href="http://www.anandtech.com/printarticle.aspx?i=3607"&gt;&lt;strong&gt;absolute
must-read&amp;nbsp;article&lt;/strong&gt;&lt;/a&gt; about most popular SSD drives from AnandTech.com.
&lt;/p&gt;
&lt;p&gt;
ATTO benchmarks:&lt;br&gt;
Take a look a all-important 4KB transfer rates (most common case for&amp;nbsp;non-server
scenarios) - it does&amp;nbsp;astonishing 178MB/s writes and 180MB/s reads:&lt;br&gt;
&lt;img border=0 src="http://vladsnotes.hrybok.com/content/binary/2x%20OCZ%20Agility%2060GB%20SSD%20drives%20in%20RAID-0%20on%20Windows%207%20-%20ATTO%20benchmark%20results.png"&gt;
&lt;/p&gt;
&lt;p&gt;
Compare it with &lt;a href="http://hothardware.com/image_popup.aspx?image=big_vertex-turbo-atto.jpg&amp;amp;articleid=10402&amp;amp;t=n"&gt;53MB/s
writes and 35MB/s reads&lt;/a&gt; of&amp;nbsp;$440-worth, fastest 120GB MLC drive - &lt;a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820227470"&gt;OCZ
Vertex Turbo&lt;/a&gt;:&lt;br&gt;
&lt;a href="http://hothardware.com/image_popup.aspx?image=big_vertex-turbo-atto.jpg&amp;amp;articleid=10402&amp;amp;t=n"&gt;&lt;img src="http://hothardware.com/newsimages/item10402/big_vertex-turbo-atto.jpg"&gt;&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
...or with arguably the best SSD drive there is -&amp;nbsp;&lt;a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820167014"&gt;$800&lt;/a&gt; Intel
X-25E SLC drive - it does &lt;a href="http://www.clunk.org.uk/reviews/kingston-technology-ssdnow-e-series-intel-x25-e-solid-state-drive-review/Page-6.html"&gt;104MB/s
writes and 120MB/s reads&lt;/a&gt; on 4KB block size:&lt;br&gt;
&lt;a href="http://www.clunk.org.uk/reviews/kingston-technology-ssdnow-e-series-intel-x25-e-solid-state-drive-review/Page-6.html"&gt;&lt;img src="http://www.images.clunk.org.uk/reviews/Kingston/results/atto/atto-ahci/atto-ahci-matrix.png"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=b337fd48-7f00-4633-a31a-2a22352fbf90" /&gt;</description>
      <comments>http://vladsnotes.hrybok.com/CommentView,guid,b337fd48-7f00-4633-a31a-2a22352fbf90.aspx</comments>
      <category>Hardware;Performance;Windows 7;x64</category>
    </item>
    <item>
      <trackback:ping>http://vladsnotes.hrybok.com/Trackback.aspx?guid=197b3761-a02f-4a03-9eaa-cb4db48acf2b</trackback:ping>
      <pingback:server>http://vladsnotes.hrybok.com/pingback.aspx</pingback:server>
      <pingback:target>http://vladsnotes.hrybok.com/PermaLink,guid,197b3761-a02f-4a03-9eaa-cb4db48acf2b.aspx</pingback:target>
      <dc:creator>Vlad Hrybok</dc:creator>
      <wfw:comment>http://vladsnotes.hrybok.com/CommentView,guid,197b3761-a02f-4a03-9eaa-cb4db48acf2b.aspx</wfw:comment>
      <wfw:commentRss>http://vladsnotes.hrybok.com/SyndicationService.asmx/GetEntryCommentsRss?guid=197b3761-a02f-4a03-9eaa-cb4db48acf2b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
While comparing two Intel quad-core CPUs, <a href="http://compare.intel.com/pcc/showchart.aspx?mmID=35380,885492&amp;familyID=1&amp;culture=en-US">Q6600
and Q8200</a>, it was hard to arrive at the decision because for some inexplicable
reason Intel does not state the TDP of Q6600. I reviewed several sources, and
values are all over the map, from clearly incorrect 65W, to what looks like actual
value of <strong>105 Watt</strong>. 
</p>
        <p>
Since both CPUs <a href="http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&amp;N=2010340343%201051707842%201302825342&amp;name=Quad-Core">cost
$190</a> at this point, the decision which one to get comes down to whether you'd
rather have a VT (virtualization technology), twice (8MB) the L2 cache and a
little higher 2.4GHz clock of Q6600, vs. faster 1333 MHz FSB and 10W less
of power consumption of Q8200.
</p>
        <img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=197b3761-a02f-4a03-9eaa-cb4db48acf2b" />
      </body>
      <title>Intel Q6600 Thermal Power Dissipation (TDP)</title>
      <guid isPermaLink="false">http://vladsnotes.hrybok.com/PermaLink,guid,197b3761-a02f-4a03-9eaa-cb4db48acf2b.aspx</guid>
      <link>http://vladsnotes.hrybok.com/PermaLink,guid,197b3761-a02f-4a03-9eaa-cb4db48acf2b.aspx</link>
      <pubDate>Mon, 01 Dec 2008 15:31:40 GMT</pubDate>
      <description>&lt;p&gt;
While comparing two Intel quad-core CPUs, &lt;a href="http://compare.intel.com/pcc/showchart.aspx?mmID=35380,885492&amp;amp;familyID=1&amp;amp;culture=en-US"&gt;Q6600
and Q8200&lt;/a&gt;, it was hard to arrive at the decision because for some inexplicable
reason Intel does not state the TDP of Q6600. I reviewed&amp;nbsp;several sources, and
values are all over the map, from clearly incorrect 65W, to what looks like actual
value of &lt;strong&gt;105 Watt&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p&gt;
Since both CPUs &lt;a href="http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&amp;amp;N=2010340343%201051707842%201302825342&amp;amp;name=Quad-Core"&gt;cost
$190&lt;/a&gt; at this point,&amp;nbsp;the decision which one to get comes down to whether you'd
rather have a VT (virtualization technology), twice (8MB)&amp;nbsp;the L2 cache and a
little&amp;nbsp;higher 2.4GHz&amp;nbsp;clock of Q6600, vs. faster 1333 MHz FSB and 10W less
of power consumption of Q8200.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=197b3761-a02f-4a03-9eaa-cb4db48acf2b" /&gt;</description>
      <comments>http://vladsnotes.hrybok.com/CommentView,guid,197b3761-a02f-4a03-9eaa-cb4db48acf2b.aspx</comments>
      <category>Hardware;Performance;Virtual Server;VmWare</category>
    </item>
    <item>
      <trackback:ping>http://vladsnotes.hrybok.com/Trackback.aspx?guid=06b316fa-fffb-484d-90e0-1c89467865af</trackback:ping>
      <pingback:server>http://vladsnotes.hrybok.com/pingback.aspx</pingback:server>
      <pingback:target>http://vladsnotes.hrybok.com/PermaLink,guid,06b316fa-fffb-484d-90e0-1c89467865af.aspx</pingback:target>
      <dc:creator>Vlad Hrybok</dc:creator>
      <wfw:comment>http://vladsnotes.hrybok.com/CommentView,guid,06b316fa-fffb-484d-90e0-1c89467865af.aspx</wfw:comment>
      <wfw:commentRss>http://vladsnotes.hrybok.com/SyndicationService.asmx/GetEntryCommentsRss?guid=06b316fa-fffb-484d-90e0-1c89467865af</wfw:commentRss>
      <title>How Windows Performance Counters of "Average" Types Linked to Their Bases</title>
      <guid isPermaLink="false">http://vladsnotes.hrybok.com/PermaLink,guid,06b316fa-fffb-484d-90e0-1c89467865af.aspx</guid>
      <link>http://vladsnotes.hrybok.com/PermaLink,guid,06b316fa-fffb-484d-90e0-1c89467865af.aspx</link>
      <pubDate>Thu, 20 Mar 2008 22:04:21 GMT</pubDate>
      <description>&lt;p&gt;
Some time ago I added performance counters to the application I was working on, and
for some inexplicable reason all counters of "Average" type, like &lt;font size=2&gt;AverageCount64
or &lt;font size=2&gt;AverageTimer32, didn't work at all, always having 0 value. Then I
had no time to find out why it was not working, but today I did. As you may know,
"Average" counters are made of two distinct counters:&amp;nbsp;the base counter and the
average counter itself. The mystery was that by looking at all the samples returned
by Google, it was unclear how the Base and the Average itself are linked together.
It looked like you create the Base and the Average, add them to the collection and
somehow magically Windows figures they need to be linked together when averages are
calculated. After some research it looks like the two are &lt;strong&gt;linked by counter
name&lt;/strong&gt;! It appears that base's name should be the name of real counter, plus
word " base". For example, when you define your counter category that has average
performance counter, you do something like this:&lt;br&gt;
&lt;font size=2&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;counters.Add(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#008080 size=2&gt;CounterCreationData&lt;/font&gt;&lt;font size=2&gt;(&lt;/font&gt;&lt;font color=#800000 size=2&gt;"whatever"&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#800000 size=2&gt;"whatever
desc"&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#008080 size=2&gt;PerformanceCounterType&lt;/font&gt;&lt;font size=2&gt;.AverageCount64));&lt;br&gt;
&lt;/font&gt;&lt;font size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;counters.Add(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#008080 size=2&gt;CounterCreationData&lt;/font&gt;&lt;font size=2&gt;(&lt;/font&gt;&lt;font color=#800000 size=2&gt;"whatever&lt;strong&gt; base&lt;/strong&gt;"&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#800000 size=2&gt;"whatever
base desc"&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#008080 size=2&gt;PerformanceCounterType&lt;/font&gt;&lt;font size=2&gt;.AverageBase));&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=2&gt;&lt;font size=2&gt;&lt;font size=2&gt;To my surprise, changing the &lt;font color=#800000&gt;"whatever&lt;strong&gt; base&lt;/strong&gt;"&amp;nbsp;&lt;/font&gt;value&amp;nbsp;of
the counter&amp;nbsp;name&amp;nbsp;in both &lt;font color=#008080&gt;CounterCreationData &lt;/font&gt;and &lt;font color=#008080 size=2&gt;PerformanceCounter&lt;/font&gt; to
something like "&lt;font color=#800000&gt;whatever&lt;strong&gt; base1&lt;/strong&gt;&lt;/font&gt;" breaks
the perf counter! It looks like there is a &lt;strong&gt;naming convention&lt;/strong&gt; requiring
that AverageBase proformance counter has the &lt;font size=2&gt;CounterName&lt;/font&gt;&amp;nbsp;property
value on both &lt;font color=#008080&gt;CounterCreationData &lt;/font&gt;and &lt;font color=#008080 size=2&gt;PerformanceCounter &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;to
be counter name plus " base", but I never saw this mentioned anywhere - neither by
MSDN, nor by Codeproject articles. So, since average perf counters always come in
pairs, linked by name, these helpers should make creating average perf counters simpler
(uinsg C#/.NET):&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;static&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;void&lt;/span&gt;&lt;font color=#000000&gt; AddAverageCounterDefinition(&lt;/font&gt;&lt;span style="COLOR: teal"&gt;CounterCreationDataCollection&lt;/span&gt;&lt;font color=#000000&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt; counters,&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;&lt;font color=#000000&gt; counterName, &lt;/font&gt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;&lt;font color=#000000&gt; counterDescription, &lt;/font&gt;&lt;span style="COLOR: teal"&gt;PerformanceCounterType&lt;/span&gt;&lt;font color=#000000&gt; averageType)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;counters.Add(&lt;/font&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;CounterCreationData&lt;/span&gt;&lt;font color=#000000&gt;(counterName,
counterDescription, averageType));&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;counters.Add(&lt;/font&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;CounterCreationData&lt;/span&gt;&lt;font color=#000000&gt;(counterName
+ &lt;/font&gt;&lt;span style="COLOR: maroon"&gt;" base"&lt;/span&gt;&lt;font color=#000000&gt;, &lt;/font&gt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;&lt;font color=#000000&gt;.Empty, &lt;/font&gt;&lt;span style="COLOR: teal"&gt;PerformanceCounterType&lt;/span&gt;&lt;font color=#000000&gt;.AverageBase));&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;class&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;AveragePerfCounter&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;PerformanceCounter&lt;/span&gt;&lt;font color=#000000&gt; averageCounter;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;PerformanceCounter&lt;/span&gt;&lt;font color=#000000&gt; averageCounterBase;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt;&lt;font color=#000000&gt; AveragePerfCounter(&lt;/font&gt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;&lt;font color=#000000&gt; categoryName, &lt;/font&gt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;&lt;font color=#000000&gt; counterName)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;&lt;font color=#000000&gt;.averageCounter
= &lt;/font&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;PerformanceCounter&lt;/span&gt;&lt;font color=#000000&gt;(categoryName,
counterName, &lt;/font&gt;&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;&lt;font color=#000000&gt;);&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;&lt;font color=#000000&gt;.averageCounterBase
= &lt;/font&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;PerformanceCounter&lt;/span&gt;&lt;font color=#000000&gt;(categoryName,
counterName + &lt;/font&gt;&lt;span style="COLOR: maroon"&gt;" base"&lt;/span&gt;&lt;font color=#000000&gt;, &lt;/font&gt;&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;&lt;font color=#000000&gt;);&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;void&lt;/span&gt;&lt;font color=#000000&gt; IncrementBy(&lt;/font&gt;&lt;span style="COLOR: blue"&gt;long&lt;/span&gt;&lt;font color=#000000&gt; val)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;&lt;font color=#000000&gt;.averageCounter.IncrementBy(val);&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;&lt;font color=#000000&gt;.averageCounterBase.Increment();&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p&gt;
After this, when creating performance counter definition, you could use following
code instead of the one shown by the very first snippet:&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font size=2&gt;AddAverageCounterDefinition(counters, &lt;/font&gt;&lt;font color=#800000 size=2&gt;"whatever"&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#800000 size=2&gt;"whatever
desc"&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#008080 size=2&gt;PerformanceCounterType&lt;/font&gt;&lt;font size=2&gt;.AverageCount64);&lt;br&gt;
&lt;/font&gt;&lt;font size=2&gt;It will add " base" to the name of the sidekick automatically.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=2&gt;And to create corresponding performance counter, you now can do this:&lt;br&gt;
&lt;/font&gt;&lt;font size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: teal"&gt;AveragePerfCounter&lt;/span&gt;&lt;font color=#000000&gt; avgCount
= &lt;/font&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;AveragePerfCounter&lt;/span&gt;&lt;font color=#000000&gt;(&lt;/font&gt;&lt;span style="COLOR: maroon"&gt;"MyCategory"&lt;/span&gt;&lt;font color=#000000&gt;, &lt;/font&gt;&lt;span style="COLOR: maroon"&gt;"whatever"&lt;/span&gt;&lt;font color=#000000&gt;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;avgCount.IncrementBy(&lt;/font&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;Random&lt;/span&gt;&lt;font color=#000000&gt;().Next(100));&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&amp;nbsp;
&lt;/p&gt;
&gt;&lt;img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=06b316fa-fffb-484d-90e0-1c89467865af" /&gt;</description>
      <comments>http://vladsnotes.hrybok.com/CommentView,guid,06b316fa-fffb-484d-90e0-1c89467865af.aspx</comments>
      <category>.NET Programming;Performance;Software Testing;Sofware Development</category>
    </item>
    <item>
      <trackback:ping>http://vladsnotes.hrybok.com/Trackback.aspx?guid=4bea07a9-64a9-4d59-8c8b-9b720e89dee3</trackback:ping>
      <pingback:server>http://vladsnotes.hrybok.com/pingback.aspx</pingback:server>
      <pingback:target>http://vladsnotes.hrybok.com/PermaLink,guid,4bea07a9-64a9-4d59-8c8b-9b720e89dee3.aspx</pingback:target>
      <dc:creator>Vlad Hrybok</dc:creator>
      <wfw:comment>http://vladsnotes.hrybok.com/CommentView,guid,4bea07a9-64a9-4d59-8c8b-9b720e89dee3.aspx</wfw:comment>
      <wfw:commentRss>http://vladsnotes.hrybok.com/SyndicationService.asmx/GetEntryCommentsRss?guid=4bea07a9-64a9-4d59-8c8b-9b720e89dee3</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I wanted to try new Vista's feature called ReadyBoost (how many marketing brainstorming
sessions did it take to come up with the name?). It's essentially a copy of Vista's
virtual memory page file on a flash drive, which is about 10 times faster than the
hard drive when it comes to readying small non-sequential chunks of data. 
</p>
        <p>
My new Cingular 3125 Windows Smartphone rejected a 1GB MicroSD card made by Kingston,
so I found nothing better to do with the flash as to make it a ReadyBoost drive.
There are a couple of ways to turn a flash drive into a ReadyBoost storage:<br />
   1. Bring up volume's properties dialog and go to the ReadyBoost
property page;<br />
   2. Select appropriate option from the auto-play dialog box after
you inserted the drive into the usb port.<br />
I read somewhere that card readers will not work as ReadyBoost drives, that only actual
thumb drives will, but my experience is actually opposite: 256MB thumb drive from
Dine-Elec was reported by Vista as too slow for ReadyBoost, but Kingston's MicroSD
in the USB card reader passed the speed test and was made a ReadyBoost drive.<br /><img src="content/binary/ReadyBoostDriveInto.jpg" border="0" /></p>
        <p>
Well, I didn't notice any difference in performance after ReadyBoost was up. May
be it's because my system has 1.5 Gig of memory and 7200 RPM drive, which means
on those rare occasions when it needs to swap pages, it is fast. But notebooks will
probably benefit much more: on laptops with limited memory and slow 5400 RPM hard
drives fast flash card is much more likely to deliver some performance benefits.
</p>
        <img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=4bea07a9-64a9-4d59-8c8b-9b720e89dee3" />
      </body>
      <title>Vista ReadyBoost - Caching the Page File</title>
      <guid isPermaLink="false">http://vladsnotes.hrybok.com/PermaLink,guid,4bea07a9-64a9-4d59-8c8b-9b720e89dee3.aspx</guid>
      <link>http://vladsnotes.hrybok.com/PermaLink,guid,4bea07a9-64a9-4d59-8c8b-9b720e89dee3.aspx</link>
      <pubDate>Fri, 29 Dec 2006 03:21:39 GMT</pubDate>
      <description>&lt;p&gt;
I wanted to try new Vista's feature called ReadyBoost (how many marketing brainstorming
sessions did it take to come up with the name?). It's essentially a copy of Vista's
virtual memory page file on a flash drive, which is about 10 times faster than the
hard drive when it comes to readying small non-sequential chunks of data. 
&lt;/p&gt;
&lt;p&gt;
My new Cingular 3125 Windows Smartphone rejected a 1GB MicroSD card made by Kingston,
so I&amp;nbsp;found nothing better to do with the flash as to make it a ReadyBoost drive.
There are a couple of ways to turn&amp;nbsp;a flash drive into a ReadyBoost storage:&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;1. Bring up volume's properties dialog and go to the ReadyBoost
property page;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;2. Select appropriate option from the auto-play dialog box after
you inserted the drive into the usb port.&lt;br&gt;
I read somewhere that card readers will not work as ReadyBoost drives, that only actual
thumb drives will, but my experience is actually opposite: 256MB thumb drive from
Dine-Elec was reported by Vista as too slow for ReadyBoost, but Kingston's MicroSD
in the USB card reader passed the speed test and was made a ReadyBoost drive.&lt;br&gt;
&lt;img src="content/binary/ReadyBoostDriveInto.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
Well, I didn't notice any difference in&amp;nbsp;performance after ReadyBoost was up.&amp;nbsp;May
be it's because my&amp;nbsp;system has 1.5 Gig of memory and 7200 RPM drive, which means
on those rare occasions when it needs to swap pages, it is fast. But notebooks will
probably benefit much more: on laptops with limited memory and slow 5400 RPM hard
drives fast flash card&amp;nbsp;is much more likely to deliver&amp;nbsp;some performance benefits.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=4bea07a9-64a9-4d59-8c8b-9b720e89dee3" /&gt;</description>
      <comments>http://vladsnotes.hrybok.com/CommentView,guid,4bea07a9-64a9-4d59-8c8b-9b720e89dee3.aspx</comments>
      <category>Performance;Vista</category>
    </item>
  </channel>
</rss>