Ayende has been discussing the different ways of actually creating objects in .NET and the perf cost associated to each of them. I thought I'd add to the mix one more method, using the DLR. I've talked to several people who have identified concerns with the speed of the DLR so I found the results rather interesting. The context is still the same, identify the time it takes to construct one million Created instances.
delegate Created CreateInstance(int num, string name);
public class Created
public int Num;
public string Name;
public Created(int num, string name)