2016-09-16 41 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的東西,雖然不完全不贊成使用,不再被維護。