Rico Mariani's Performance Tidbits

Implying no warranties and conferring no rights: "AS IS" since 1988

Browse by Tags

Tagged Content List
  • Blog Post: Introducing Performance Console

    Ever wonder how I get those nice looking HTML call trees with attributed costs like this one here in my last quiz? Well, it turns out that Josh Williams wrote an excellent program for massaging the perf results that come out of our profiler. The way it works is that you get a profile as usual and...
  • Blog Post: LogDump: CLRProfiler Log analysis tool

    Ever wonder how I produce nice textual allocation summaries like this one? This report shows allocations in dictread.log Total Allocations 136301 Objects 6694232 Bytes Top 10 Allocated Types Count Bytes Type 108040 5836392 System.String 26726 534520 DictionaryEntry 73 275604 System.Object...
  • Blog Post: Narrowing Down Performance Problems in Managed Code

    My last entry was some generic advice about how to do a good performance investigation. I think actually it's too generic to be really useful -- in fact I think it fails my Peanut Butter Sandwich Test. Digression to discuss the Peanut Butter Sandwich Test I review a lot of documents and sometimes...
  • Blog Post: How To Do A Good Performance Investigation

    I find that sometimes people have difficultly just getting started when doing a performance analysis – meaning they’re faced with a potentially big problem and don’t know where to begin. Over the years many people have come to me under those circumstances and asked me how I would approach the problem...
  • Blog Post: Performance Quiz #6 -- Analyzing the managed code

    Raymond didn't post an update today so I think this is a good time for me to post the first analysis of the managed code. There's some things to notice right away and I've highlighted them in the table below. This table was generated in the same way as the others and again I've pruned the tree so that...
  • Blog Post: Three techniques for tracking down memory leaks due to undisposed objects

    People often ask me for tips/tricks on how to find out which objects are not being properly disposed. But before I go any further I should talk briefly about why that's a problem. If an object is Finalizable that means that the runtime must run the Finalize method on that object (in C# you use the...
  • Blog Post: Tracking down managed memory leaks (how to find a GC leak)

    If you think you've got memory leaks, or if you're just wondering what kind of stuff is on your heap you can follow the very same steps that I do and get fabulous results your friends will envy. OK, well maybe not, but they're handy anyway. These steps will help you to go from a suspected memory leak...
Page 1 of 1 (7 items)