Welcome to MSDN Blogs Sign in | Join | Help

January 2007 - Posts

.NET Framework Allocation Complexity Graph

A quick graphical view of how the framework measures up. This graph shows the number of methods of any given allocation complexity on a logarithmic scale. This allocation complexity is discussed in more detail in performance quiz #12 and this summary
Posted by ricom | 7 Comments
Filed under: ,

Performance Quiz #12 -- The Cost of a Good Hash -- Solution

Well once again there have been many thoughtful replies to both the original question as well as the followup with hints. Recall the original question asked a bit of trivia: could you name 5 implementations of GetHashCode in the framework that do things you might not expect to see in a hash function? It's a little bit of a vague question and also requires a good deal of arcane knowledge of the CLR. The most interesting thing about the discussion I think is just what people considered "unusual." But as always there was a method to my madness. So without further ado here's my list of "unusual" hash functions, there are 53 of them.
Posted by ricom | 6 Comments
Filed under: ,

Performance Quiz #12 -- The Cost of a Good Hash -- Some Help

I continue to be astounded by what my readers can come up with. As usual I had a purpose for posing my last question and that purpose was to show that basically its hard to get a handle on what things cost in any kind of omnibus way. But imagine my surprise
Posted by ricom | 32 Comments
Filed under: , ,

Performance Quiz #12 -- The Cost of a Good Hash

This quiz is a little bit different than some of my others. Here is System.String.GetHashCode public override unsafe int GetHashCode() { fixed (char* text1 = ((char*) this)) { char* chPtr1 = text1; int num1 = 0x15051505; int num2 = num1; int* numPtr1
Posted by ricom | 28 Comments
Filed under: ,

Good Advice Scorned

I thought it might be interesting to start a discussion about what is possibly the number one frustration of the performance architect: What do you do when they won't listen to you ? I'm sure you've all faced this, you lay out the situation, you show
Posted by ricom | 5 Comments
Filed under:

Five Things About Me

I guess it's fate: I was blog tagged by both Jeff Beehler and J.D. Meier within hours of one another. So here are my five things you probably didn't know about me (but some of you do). I got my first professional programming job (I was 15 years old) at
Posted by ricom | 3 Comments
Filed under:

Memory leaks 101: Objects anchored by event generators

This problem actually comes up pretty often so I thought I'd write a little article about it, and a couple of approaches to solving it. Basically any time you take an object "Your Object" whose life you want the GC to manage and then create a reference
Posted by ricom | 9 Comments
 
Page view tracker