Rico Mariani's Performance Tidbits
Implying no warranties and conferring no rights: "AS IS" since 1988
May 2005 - Posts
Narrowing Down Performance Problems in Managed Code
25 May 05 06:10 PM
|
ricom
|
16 Comments
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
Read More...
How To Do A Good Performance Investigation
23 May 05 05:54 PM
|
ricom
|
11 Comments
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
Read More...
Performance Quiz #6 -- Conclusion, Studying the Space
20 May 05 01:43 PM
|
ricom
|
5 Comments
I thought I would end this series by looking at the space costs of both solutions because it gives a real window into what I do every day and perhaps it's helpful to understand the multidimensional aspects of performance analysis. It's also interesting
Read More...
Performance Quiz #6 -- Looking at the sixth cut
19 May 05 01:45 PM
|
ricom
|
14 Comments
Well, it's time for me to surrender. Sort of :) Raymond pulls out all the stops in his sixth version by painting a big bullseye on his biggest remaining source of slowness which is operator new. He turns in an excellent result here. On my benchmark machine
Read More...
Performance Quiz #6 -- Optimizing the Managed Version
18 May 05 09:40 PM
|
ricom
|
16 Comments
Well, I've been slacking off too long... sitting on my nice 124ms time and doing nothing. It's time I did something to the managed code. You'll recall I had some observations in my analysis of the managed code and basically I can summarize my thoughts
Read More...
Performance Quiz #6 -- The fifth cut goes foul!
18 May 05 09:15 PM
|
ricom
|
3 Comments
Well today Raymond hits a snag in version 5 of the program. I started by profiling the code as provided (in fact I had the .exe from Raymond himself so I didn't even have to build it). The new version is actually slower (start to finish) than the previous
Read More...
Performance Quiz #6 -- Analyzing the managed code
17 May 05 03:12 PM
|
ricom
|
14 Comments
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
Read More...
Performance Quiz #6 -- Looking at the fourth cut
16 May 05 01:42 PM
|
ricom
|
10 Comments
Raymond is definately making some great headway. Having targetted the single-character at a time conversion problem in version 4 of his program he's 1.84 times faster than the previous version. Version Execution Time (seconds) Unmanaged v1 1.328 Unmanaged
Read More...
Performance Quiz #6 -- Looking at the third cut
13 May 05 04:58 PM
|
ricom
|
10 Comments
The fun continues as today we look at Raymond's third improvement . Raymond starts using some pretty hefty Win32 magic with a mapped file view to eliminate once-and-for-all any costs associated with the getline function. And good news, his new version
Read More...
Performance Quiz #6 -- Looking at the second cut
12 May 05 03:54 PM
|
ricom
|
5 Comments
Stefang jumped into the fray with his analysis in the comments from my last posting . Thank you Stefang. And it seems, as usual, things aren't always what they appear :) Let's continue the story without me giving away the ending just yet though. How is
Read More...
Performance Quiz #6 -- Looking at the first cut
11 May 05 04:50 PM
|
ricom
|
12 Comments
Yesterday Raymond posted his initial version and I posted Performance Quiz #6 . Today he posts the first optimization . Quoting him: Upon profiling our dictionary-loader, I discovered that 80% of the CPU time was spent in getline . Clearly this is where
Read More...
Performance Quiz #6 -- Chinese/English Dictionary reader
10 May 05 04:22 PM
|
ricom
|
16 Comments
Raymond Chen is running a series of articles about how to build and optimize the startup time of a Chinese/English dictionary. Developing a Chinese/English dictionary: Introduction Loading the dictionary, part 1: Starting point and then my analysis Loading
Read More...
Search
This Blog
Home
Email
Tags
databases
debuggers
design advice
History of Visual Studio
locking
performance
quiz
ramblings
recommendations
signatures
using tools
visual studio
Archives
October 2009 (13)
September 2009 (2)
August 2009 (1)
June 2009 (3)
May 2009 (3)
December 2008 (1)
November 2008 (4)
September 2008 (2)
August 2008 (6)
June 2008 (2)
May 2008 (2)
February 2008 (2)
January 2008 (2)
November 2007 (5)
October 2007 (2)
September 2007 (3)
August 2007 (3)
July 2007 (3)
June 2007 (6)
May 2007 (1)
April 2007 (2)
March 2007 (1)
February 2007 (5)
January 2007 (7)
December 2006 (2)
November 2006 (1)
September 2006 (4)
August 2006 (4)
July 2006 (11)
June 2006 (3)
May 2006 (5)
April 2006 (6)
March 2006 (6)
February 2006 (2)
January 2006 (2)
December 2005 (2)
November 2005 (5)
October 2005 (4)
September 2005 (4)
August 2005 (6)
July 2005 (2)
June 2005 (3)
May 2005 (12)
April 2005 (3)
March 2005 (5)
February 2005 (2)
January 2005 (3)
December 2004 (2)
November 2004 (2)
October 2004 (3)
September 2004 (4)
August 2004 (3)
July 2004 (4)
June 2004 (8)
May 2004 (6)
April 2004 (4)
March 2004 (8)
February 2004 (4)
January 2004 (3)
December 2003 (11)
Performance
Wiki: Perf Wiki Root
Wiki: Perf Articles
Wiki: Class Comments
Syndication
RSS 2.0
Atom 1.0