2016-09-16 195 views
0

我为使用Unity IOC的控制台应用程序和使用HttpCLient的很多调用进行了剖析。如何理解它?Profilling结果 - 如何理解

功能名称,包容的样品,样品独家,包容样品%,独占样本%

Microsoft.Practices.Unity.UnityContainer.Resolve         175 58 38.89 12.89 
Microsoft.Practices.Unity.UnityContainer..ctor          29 29 6.44 6.44 
System.Runtime.CompilerServices.AsyncTaskMethodBuilder1[System.DateTime].Start  36 13 8.00 2.89 
Microsoft.Practices.Unity.UnityContainerExtensions.RegisterInstance     9 9 2.00 2.00 
System.Net.Http.HttpClientHandler..ctor            9 9 2.00 2.00 
System.Net.Http.HttpMessageInvoker.Dispose           9 9 2.00 2.00 
System.Activator.CreateInstance              20 8 4.44 1.78 
Microsoft.Practices.Unity.ObjectBuilder.NamedTypeDependencyResolverPolicy.Resolve 115 3 25.56 0.67 

什么意味着Microsoft.Practices.Unity.UnityContainer.Resolve包容性的样本是38,89,但不包括在12,89?可以吗?不是太多?

回答

1

“包容性”是指“专属时间加上所有被调用者的时间”。 忘记“独家”的东西。 “包容性”是它的成本。

它说UnityContainer.Resolve花费39%的时间, 和Unity.ObjectBuilder.NamedTypeDependencyResolverPolicy.Resolve花费你26%。 它看起来像第一个叫第二个,所以你不能把他们的时间加在一起。 如果你可以避免调用所有的东西,你至少可以节省40%,给你加速至少100/60或1.67或67%顺便说一句,这个Unity的东西,虽然不完全不赞成使用,不再被维护。