我使用Unity IOC对我的控制台应用程序进行了分析,并使用HttpCLient进行了大量调用。如何理解?
功能名称,包含样本,独家样本,包含样本%,独家样本%
myfun
什么意味着//declare myfun
function myfun(x, functionToBeCalled) {
functionToBeCalled(x);
}
//call myfun and pass a function as an argument
myfun(2, function(x) {
console.log("Value of x is: "+ x );
});
的包容性样本为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
?好吗?不是太多了?
答案 0 :(得分:1)
"包容性和#34;意味着"独家时间加上在所有被监护人身上花费的时间"。 忘掉"独家"东西。 "包容性和#34;这是它给你付出的代价。
它说UnityContainer.Resolve
花费你39%的时间,
和Unity.ObjectBuilder.NamedTypeDependencyResolverPolicy.Resolve
花费你26%。
看起来第一个叫第二个,所以你不能把他们的时间加在一起。
如果你可以避免调用所有这些东西,你将节省至少40%,给你一个至少100/60或1.67或67%的加速
顺便说一句,Unity内容虽然没有完全弃用,但不再被维护。