Rico Mariani's Performance Tidbits

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

January, 2007

  • Rico Mariani's Performance Tidbits

    .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...
  • Rico Mariani's Performance Tidbits

    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. ...
  • Rico Mariani's Performance Tidbits

    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...
  • Rico Mariani's Performance Tidbits

    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; ...
  • Rico Mariani's Performance Tidbits

    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...
  • Rico Mariani's Performance Tidbits

    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...
  • Rico Mariani's Performance Tidbits

    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...
Page 1 of 1 (7 items)