Low-Lock Techniques in action: Implementing a Reader-Writer lock

In my article What Every Dev Must Know About Multithreaded Apps I discuss the fundamental principles of using locks correctly.  In that article I strongly encourage the use of reader-writer locks because these locks create the protection you need (insuring that readers and writers don’t conflict), while potentially allowing significantly more concurrency to take place (by…

19

Digging into interface calls in the .NET Framework: Stub-based dispatch.

In my last blog, I demonstrated how to use the .NET SOS.DLL extension DLL in the Visual Studio.    In this entry I will use the capabilities of this extension DLL to dig into the way the .NET framework handles interface dispatch.  As with all my blog entries, I hope that after reading this you will…

12

Getting down to the metal: using the CLR Runtime’s SOS extention in Visual Studio

In my last blog I talked a bit about how you go about using Visual Studio to look at “Release” code so that you can find out what code is actually generated by a particular high level programming construct.     As a quick recap the tricky part of insuring this is to Insure that your code is…

5

How to use Visual Studio to investigate code generation questions in managed code.

Introduction: What does ‘foreach’ actually do?   It is not uncommon for a new group to want to use manage code to pepper the CLR team with performance questions.  They want to know how expensive ‘foreach’ is, or whether certain methods get inlined or a variety of other questions about the code quality of.  …

16

Two articles on concurrent programming I wrote

This is just a quick plug for two articles that I wrote for MSDN magazine a few months back.  They are   What Every Dev Must Know About Multithreaded Apps Understand the Impact of Low-Lock Techniques in Multithreaded Apps   The first article, as its title suggests, is what I think every programmer should know…

0

Vance Morrison’s Introduction to Bloging: Lets talk about Perf!

This is my first real blog entry, so I would like to introduce myself.   My name is Vance Morrison and I am currently a performance architect on the .NET Runtime Team.  I am one of a handful of developers who have worked on the .NET runtime from its inception.  I did most of my work…

2