<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>scarroll's Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/scarroll/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/scarroll/feed.xml</link>
    <description>A blog about Visual Studio Profiling, Code Coverage and CS Research!</description>
    <lastBuildDate>Tue, 16 Apr 2019 05:50:02 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>VSTS Profiler @ TechEd2007</title>
      <link>https://docs.microsoft.com/archive/blogs/scarroll/vsts-profiler-teched2007</link>
      <pubDate>Mon, 04 Jun 2007 09:45:00 GMT</pubDate>
      <dc:creator><![CDATA[scarroll]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scarroll/2007/06/04/vsts-profiler-teched2007/</guid>
      <description><![CDATA[Hey all,
Marc (the QA lead) and myself (the Dev lead) of the VSTS profiler are sitting in front of...]]></description>
      <content:encoded><![CDATA[<P>Hey all,</P>
<P>Marc (the QA lead) and myself (the Dev lead) of the VSTS profiler are sitting in front of Booth Dev-2 (Visual Studio Team System) in the Technical Learning Center.</P>
<P>The TLC should be opening up soon to customers, so I'd like to encourage you all to drop by.&nbsp; We'll be happy to help you profile your app or answer any questions you may have.</P>
<P>Also, mark your calendars as Marc and I will be delivering a Breakout Session entitled DEV313 - Improving Code Performance with Visual Studio Team System.&nbsp; We'll be covering a little bit of education about how to interpret the data coming out of the profiler and giving LOTS of demos of great new profiler scenarios in the next version including:</P>
<P>Web/Load Test integration</P>
<P>Comparing two performance reports</P>
<P>Filtering</P>
<P>Line level sampling</P>
<P>and many more.</P>]]></content:encoded>
    </item>
    <item>
      <title>Visual Studio Launch: Bangkok (pre-game edition)</title>
      <link>https://docs.microsoft.com/archive/blogs/scarroll/visual-studio-launch-bangkok-pre-game-edition</link>
      <pubDate>Mon, 14 Nov 2005 10:06:00 GMT</pubDate>
      <dc:creator><![CDATA[scarroll]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scarroll/2005/11/14/visual-studio-launch-bangkok-pre-game-edition/</guid>
      <description><![CDATA[Sawatdee Khrup!
So I arrived in Thailand for Visual Studio Launch which will be in BecTero Hall...]]></description>
      <content:encoded><![CDATA[<P>Sawatdee Khrup!</P>
<P>So I arrived in Thailand for Visual Studio Launch which will be in BecTero Hall here in Bangkok on Tuesday morning (tomorrow as I write this).&nbsp; I hope to see all of our Thai developers there.&nbsp; I spent the morning getting ready for a presentation and waiting for the torrential downpour to finally stop.&nbsp; When it finally stopped, I went and checked out Pan Tip Plaza, the giant IT shopping complex and I wandered around the nearby shopping districts until I couldn't stand the heat anymore.&nbsp; It is 93 degrees here... and this is the cold season!&nbsp;</P>
<P>Anyways, let's talk food.&nbsp; I had a great meal tonight at a place called Benjarong.&nbsp; They specialize in Thai Royal Cuisine and so I had to check it out.&nbsp; I got the set menu.&nbsp; 9 courses, $20, and more food than any one person could actually eat.&nbsp; So anyways, the second course was this amazingly tasty Tom Yum Gung.&nbsp;&nbsp; Really good stuff, with these giant cloves of garlic and what looked like little green beans floating in it.&nbsp; I bite into the "green bean".&nbsp; The world flashes white.&nbsp; Extreme agony in my lips and tongue.&nbsp; I am on fire.&nbsp; I actually yelp.&nbsp; It's actually a tiny green chili.&nbsp; A tiny green chili... of DEATH!&nbsp; No matter what you read in books, in situations like this if there is a glass of ice water in front of you, you are going to drink that glass of ice water.&nbsp; And of course, the books will be right and this will make it worse.&nbsp; And now you are really in trouble.</P>
<P>The wait staff notices my distress and (bless their hearts) bring me ice cream to ease my pain.&nbsp; Remember that this is only course 2 of 9.&nbsp; Lest any of you think I am some lightweight making a big deal out of nothing, I will tell you that my wife is Thai.&nbsp; When we dine with my in-laws, my mother in law actually makes 5 different types of fish sauce for putting on each dish to control the spice level.&nbsp; The pecking order is:</P>
<P>Mama Bear (my mother in law can eat fire.)<BR>Papa Bear (fire with a splash of lime.)<BR>Steve (hot enough to earn the respect of my mother in law)<BR>Sister Bear (my wife, medium)<BR>Brother Bear (my brother in law, a total wuss.)</P>
<P>Anyways, the ice cream did its job and thank god because there was some amazing dishes still to come although my lips are still in a little bit of pain.&nbsp; For future reference, the chili was a Prik Kee Nuu Suan.&nbsp; Beware!</P>
<P>I have to get back to working on these slides.&nbsp; Hopefully I'll have some good customer stories tomorrow.&nbsp; Come out and see us tomorrow at the launch event.&nbsp; I've been practicing the little bit of Thai I've picked up from my family. :) (Aahaan thai phet khrup!)</P>]]></content:encoded>
    </item>
    <item>
      <title>Profiling FAQ #7: What does the column name X mean?</title>
      <link>https://docs.microsoft.com/archive/blogs/scarroll/profiling-faq-7-what-does-the-column-name-x-mean</link>
      <pubDate>Fri, 07 Oct 2005 18:46:00 GMT</pubDate>
      <dc:creator><![CDATA[scarroll]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scarroll/2005/10/07/profiling-faq-7-what-does-the-column-name-x-mean/</guid>
      <description><![CDATA[UPDATE: msdn2 seems to be flaking on this... I stuck a msn cached version below.
&nbsp;
I just...]]></description>
      <content:encoded><![CDATA[<P>UPDATE: msdn2 seems to be flaking on this... I stuck a msn cached version below.</P>
<P>&nbsp;</P>
<P>I just noticed that the Visual Studio Profiler docs are up on msdn2.&nbsp; </P>
<P>Here's a good list of what each column means in English.</P>
<P><A href="https://msdn2.microsoft.com/en-us/library/ms148209">https://msdn2.microsoft.com/en-us/library/ms148209</A></P>
<P>&nbsp;</P>
<P><A href="https://cc.msnscache.com/cache.aspx?q=2268729578875&amp;lang=en-US&amp;FORM=CVRE10">https://cc.msnscache.com/cache.aspx?q=2268729578875&amp;lang=en-US&amp;FORM=CVRE10</A></P>]]></content:encoded>
    </item>
    <item>
      <title>Profiling FAQ #6: Why does the profiler say Foo calls Bar, when I know it doesn't!</title>
      <link>https://docs.microsoft.com/archive/blogs/scarroll/profiling-faq-6-why-does-the-profiler-say-foo-calls-bar-when-i-know-it-doesnt</link>
      <pubDate>Mon, 25 Jul 2005 19:32:00 GMT</pubDate>
      <dc:creator><![CDATA[scarroll]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scarroll/2005/07/25/profiling-faq-6-why-does-the-profiler-say-foo-calls-bar-when-i-know-it-doesnt/</guid>
      <description><![CDATA[Here's another fun one from the internal support alias.  

When you profile with the VS Profiler,...]]></description>
      <content:encoded><![CDATA[Here's another fun one from the internal support alias.  <p>

When you profile with the VS Profiler, you are profiling the Release version of your code (I hope!).  As you know from having debugged Release code in the past, sometimes things get a little funky.  Well, a good rule of thumb is that anything that is funky in the debugger, is also a little funky in the profiler.  After all, we share the same symbol information (i.e., the stuff in the PDBs for native code and the managed metadata in the EXEs and PDBs for managed code.) <p>

One optimization that is particularly tough for the profiler is called COMDAT folding.  There's a good explanation of this from a debugger standpoint here:

<a href="https://blogs.msdn.com/oldnewthing/archive/2005/03/22/400373.aspx">https://blogs.msdn.com/oldnewthing/archive/2005/03/22/400373.aspx</a> <p>

The basic concept is that at link time, all identical functions at code generation time are folded in to a single copy of that function.  This is particularly useful for limiting the code bloat in template code.  You will see COMDAT in action with things like default destructors and simple methods like field accessors.  Since there is only one copy of that function in the binary with several source level functions associated with it, if we take a sample in it, there is no way for us to know which is the correct function.  So we just pick the first one in the list, just like the debugger.<p>

Hope that helps!]]></content:encoded>
    </item>
    <item>
      <title>Meltdown Profiler Tips and Tricks Talk Details</title>
      <link>https://docs.microsoft.com/archive/blogs/scarroll/meltdown-profiler-tips-and-tricks-talk-details</link>
      <pubDate>Thu, 21 Jul 2005 21:18:00 GMT</pubDate>
      <dc:creator><![CDATA[scarroll]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scarroll/2005/07/21/meltdown-profiler-tips-and-tricks-talk-details/</guid>
      <description><![CDATA[Online registration for the Meltdown DirectX conference ends tomorrow July 22.  

I tried my best...]]></description>
      <content:encoded><![CDATA[Online registration for the Meltdown DirectX conference ends tomorrow July 22.  

I tried my best to target this talk to the Game Developer.  If you are a grizzled veteran perf guy, I'm going to show you how to get the most out of our tool with advanced features and scenarios.  If you are just getting in to perf work, I'm going to show you how easy it is to get started with the profiler wizards.

The talk is at 4pm on both days of the conference for you late risers. ;-)

If you have any profiler issues, I'm gonna be around to try to help you out.  Remember, we are just about to start V2 planning in earnest, so if you have a feature request or feedback, this is a great time to get your voice heard.

Here's the official abstract:

Visual Studio 2005 Team Edition for Software Developers: Profiler Tips and Tricks
Speaker: Steve Carroll (Bio)
This talk will give an in-depth discussion of profiling techniques using the new Visual Studio profiler available in Team System.  The talk will cover how to choose the right profiling method for your application including the tradeoffs between sampling and instrumentation profilers.  Also, we’ll talk about each of these profiling techniques works.  Common tips and tricks will also be presented as well as common mistakes we’ve seen in the field.   We will also drill down on what all the data that the profiler produces means and how to interpret it.  Advanced techniques for “off-roading” with our command line tools in advanced scenarios will also be presented.  We’ll wrap up with a demonstration of using the profiler on a DirectX application.

]]></content:encoded>
    </item>
    <item>
      <title>Profiling FAQ #5: Why are there two copies of my function in Instrumentation mode function report?</title>
      <link>https://docs.microsoft.com/archive/blogs/scarroll/profiling-faq-5-why-are-there-two-copies-of-my-function-in-instrumentation-mode-function-report</link>
      <pubDate>Thu, 21 Jul 2005 21:10:00 GMT</pubDate>
      <dc:creator><![CDATA[scarroll]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scarroll/2005/07/21/profiling-faq-5-why-are-there-two-copies-of-my-function-in-instrumentation-mode-function-report/</guid>
      <description><![CDATA[The most common reason for this to occur in Instrumentation mode is that the dll you instrumented is...]]></description>
      <content:encoded><![CDATA[The most common reason for this to occur in Instrumentation mode is that the dll you instrumented is appearing in two different processes.  We don't aggregate data from multiple processes.  You can see this easily by using vsperfreport.exe -summary:function foo.vsp.  If you get foo_1234_FunctionSummary.CSV and foo_5678_FunctionSummary.CSV, that just means your instrumented dlls were loaded in 2 processes with IDs of 1234 and 5678.  In the IDE, you can add the Process ID column to verify that the two copies of the function have different IDs. 

This can happen easily in ASP.Net if you crash the w3wp.exe process while the monitor is still running.  A second w3wp.exe process will start up with a new process ID.  It also happens if you have multiple worker processes on a machine running the same app.]]></content:encoded>
    </item>
    <item>
      <title>Speaking at MS Meltdown about the VS Profiler</title>
      <link>https://docs.microsoft.com/archive/blogs/scarroll/speaking-at-ms-meltdown-about-the-vs-profiler</link>
      <pubDate>Thu, 30 Jun 2005 18:21:00 GMT</pubDate>
      <dc:creator><![CDATA[scarroll]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scarroll/2005/06/30/speaking-at-ms-meltdown-about-the-vs-profiler/</guid>
      <description><![CDATA[I'm speaking at the Microsoft Meltdown 2005 conference at the end of the month.  The topic is tips...]]></description>
      <content:encoded><![CDATA[I'm speaking at the <a href="https://www.microsoftmeltdown.com/">Microsoft Meltdown 2005</a> conference at the end of the month.  The topic is tips and tricks for using the Visual Studio Profiler.  Since this is a game developer audience, I'm going to try to tailor this talk to your needs and go in to how to do some more advanced stuff with the API and the command line tools.<p>

If you've got something you really want to see covered in this talk, now's the time to post a comment or drop me some mail.  <p>

When we get closer I'll put a quick talk outline so you can smack me down if I am talking about stuff you don't care about.  <p>]]></content:encoded>
    </item>
    <item>
      <title>Public Chat: This Wednesday</title>
      <link>https://docs.microsoft.com/archive/blogs/scarroll/public-chat-this-wednesday</link>
      <pubDate>Mon, 13 Jun 2005 22:56:00 GMT</pubDate>
      <dc:creator><![CDATA[scarroll]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scarroll/2005/06/13/public-chat-this-wednesday/</guid>
      <description><![CDATA[Hey folks.&nbsp; We have a public chat scheduled for tomorrow.&nbsp; I just checked the schedule and...]]></description>
      <content:encoded><![CDATA[<P>Hey folks.&nbsp; We have a public chat scheduled for tomorrow.&nbsp; I just checked the schedule and we have a bunch of the devs, testers, PMs, who are responsible for the dev and&nbsp;test&nbsp;skus of Team System&nbsp;signed up to be on for tomorrow's chat.&nbsp; If you've never tried it before I think this would be a good time to test the waters.&nbsp; If you have any burning question about our technology or even if you just want to yell us (constructively), this will be a great time to get your voices heard.&nbsp; Of course, we read every single bug and suggestion and forum post that customers send us, but I think the chat format is more of a dialogue, since you can more easily ask a real person followup questions.</P>
<BLOCKQUOTE dir=ltr>
<P><FONT face=Verdana size=1><SPAN><FONT face=Verdana size=1><SPAN>Team System Developer &amp; Test SKUs Public Chat</SPAN></FONT></P></BLOCKQUOTE>
<BLOCKQUOTE dir=ltr>
<P class=MsoNormal><FONT face=Verdana size=1><SPAN>Every 3<SUP>rd</SUP> Wednesday of the Month @ 10am PST</SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana size=1><SPAN>Join us to discuss the Profiler, Test Tools (Unit, Generic, Manual), Web Load Testing, and Code Analysis (FxCop &amp; PREFast).&nbsp; We have questions for you, will answer questions from you, and will chat about the exciting new technology.</SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana size=1><SPAN><A title=https://msdn.microsoft.com/chats href="https://msdn.microsoft.com/chats">https://msdn.microsoft.com/chats</A></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana size=1><SPAN></SPAN></FONT>&nbsp;</P>
<P class=MsoNormal dir=ltr><FONT face=Verdana size=1><SPAN></SPAN></FONT></SPAN></FONT>&nbsp;</P></BLOCKQUOTE>]]></content:encoded>
    </item>
    <item>
      <title>In honor of TechEd: Profiler Greatest Hits bloggin'</title>
      <link>https://docs.microsoft.com/archive/blogs/scarroll/in-honor-of-teched-profiler-greatest-hits-bloggin</link>
      <pubDate>Thu, 09 Jun 2005 16:39:00 GMT</pubDate>
      <dc:creator><![CDATA[scarroll]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scarroll/2005/06/09/in-honor-of-teched-profiler-greatest-hits-bloggin/</guid>
      <description><![CDATA[My illustrious co-worker, Ian, is compiling a central resource of all the most essential profiler...]]></description>
      <content:encoded><![CDATA[<P>My illustrious co-worker, Ian, is compiling a central resource of all <a href="https://blogs.msdn.com/ianhu/archive/2005/06/09/427327.aspx">the most essential profiler blog posts</A>.</P>]]></content:encoded>
    </item>
    <item>
      <title>Doing My Part to Destroy MSFT Productivity</title>
      <link>https://docs.microsoft.com/archive/blogs/scarroll/doing-my-part-to-destroy-msft-productivity</link>
      <pubDate>Wed, 08 Jun 2005 16:38:00 GMT</pubDate>
      <dc:creator><![CDATA[scarroll]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scarroll/2005/06/08/doing-my-part-to-destroy-msft-productivity/</guid>
      <description><![CDATA[I had to help a high school kid solve this problem yesterday.&nbsp; It’s pretty interesting I...]]></description>
      <content:encoded><![CDATA[<P><FONT face=Arial size=2>I had to help a high school kid solve this problem yesterday.&nbsp; It’s pretty interesting I think.<BR>I sent it around the team and people seemed to enjoy it so here you go.&nbsp; (In the old days, I would have saved this puzzle for an interview question, but pure puzzle questions are discouraged now.)</FONT></P>
<P class=MsoNormal><SPAN>A census taker knocks on Mary’s door.&nbsp; <BR></SPAN><FONT face=Arial size=2><SPAN>Census Taker: I need to know the age of your three children<BR></SPAN></FONT><FONT face=Arial size=2><SPAN>Mary: The product of their ages is 36.<BR></SPAN></FONT><FONT face=Arial size=2><SPAN>Census Taker: hrmmm<BR></SPAN></FONT><FONT face=Arial size=2><SPAN>Mary:&nbsp; The sum of their ages is the same as my house number.<BR></SPAN></FONT><FONT face=Arial size=2><SPAN>Census Taker: I still don’t have enough information.<BR></SPAN></FONT><SPAN>Mary: <FONT color=#000000>The younger two</FONT><SPAN class=662093119-08062005><FONT color=#0000ff><FONT color=#000000>&nbsp;</FONT></FONT></SPAN>are twins<BR></SPAN><FONT face=Arial size=2><SPAN>Census Taker: Ok, I’ve got it now.</SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN>What are the ages of Mary’s children?</SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN>ANSWER IS NOW IN THE COMMENTS (along with a afterschool special style wrapup of what we've learned).</SPAN></FONT></P>]]></content:encoded>
    </item>
  </channel>
</rss>