High Priority Threads can extend Server GC Latencies

Hi! My name is Mohamed Abd EL Aziz, and I am a member of the CLR Performance Test team.  I am going to write a couple of blog posts about CLR performance characteristics, how we measure code and interesting perf investigations.  The tools and techniques that will be presented should help you during your product…

0

Measuring Startup And Memory Usage

Hi! My name is Bill Wert, and I’m a member of the CLR Performance Test team. I’m going to write a couple blog posts to describe at a high level how we test startup time and working set on my team, and point out some tools you can use in your development and testing processes…

0

The CLR Performance Test Team’s Charter

   This blog introduces the CLR Performance Test Team which plays a pivotal role in enhancing the performance experience of the customers of the runtime and framework.  Mission Statement: To understand our customers and their expectations and communicate current product performance relative to those expectations.   Background: Great product performance is essential to winning customers.  They want…

0

Computing Time in .NET

One of the pitfalls with the abundance of classes that .NET provides is not picking the right class for the job.  The right selection is especially important when performance is a consideration. In this article, I will use a tool called MeasureIt and walk you through rapidly benchmarking various classes and look at a couple…

0

Improving Startup Time: A primer on setting base-addresses for managed DLLs

Startup time is one of the most perceptible performance issues for any application.  In this post, we’ll talk about an easy way to improve startup time in many cases.  In particular, if you are building an application with managed DLLs, and your application is deployed on pre-Vista OS’es, this post will teach you how to…

0

.NET Framework Performance Survey

Update: Thank you to everyone who participated – we had a good response. This survey will be closed on 06/25/2009 at 5.00 PM PST.  Want us to fix a particularly nagging perf problem? Dying to tell us your awesome idea about an optimization? Here is an opportunity for you to provide us feedback on your level of satisfaction with .NET…

2

Improving NetFX 3.5SP1 Application Startup

As most of you probably experienced, NetFX 3.5SP1 offers significant performance improvements over NetFX 3.5.However, we received some reports where NetFX 3.5SP1 installs are seen to be making some select few applications startup slower than they were in NetFX 3.5, whereas for most applications startup performance improves significantly with NetFX 3.5SP1. The possible reason for this anomaly…

3

Using the System.GC APIs to Improve Performance

Chris Lyon here.  You may remember me from such blogs as How I Learned to Stop Worrying and Love the GC.  I’m writing this blog entry to point out some of the System.GC APIs that can be used to help improve the performance of your managed application.   AddMemoryPressure and RemoveMemoryPressure The Garbage Collector (GC)…

4

Track down DLL loading using Visual Studio

Application performance matters — including start up times, working sets and memory consumption. One path leading to more efficient code is loading fewer DLLs. One should only be loading modules that are really needed. However, it is very easy to accidentally load more DLLs at startup than necessary leading to lower performance including longer startup…

1

Adding Custom Actions to NGen an Assembly upon Install

This  document details how to use custom actions to Ngen (generate a native image) upon installation of a project.  Assemblies that are NGen’ed have better startup performance than those that are JIT’ted: http://msdn.microsoft.com/en-us/magazine/cc163610.aspx Step 1: Creating and building your sources I am assuming that you have created a new project, written all your source files,…

0