微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Unity和DryIoc之间性能比较

使用Prism的DI容器时,Unity和DryIoc之间没有功能上的区别,因此请比较性能。仅在DryIoc博客上比较DI容器的基准 出版了,所以我从中提取了DryIoc和Unity。

该基准是测量从每个DI容器中获取以下类型的类500,000次(解析)的时间(以毫秒为单位)的结果,较高的数字是单线程,较低的数字是多线程处理,这似乎是结果。
*以下类型的说明是从网络翻译中推断出的句子,因此可能与实际的句子有所不同。

  • 单例:单例对象
  • 瞬态:具有临时寿命的对象
  • 合并的:具有两个依赖项(Singleton和Transient)的对象。
  • 复杂:具有嵌套依赖关系的对象
  • 泛型:具有泛型依赖性的对象
  • IEnumerable:实现IEnumerable的对象
  • 条件的:具有条件依赖性的对象
ContainerSingletonTransientCombinedComplexGenericsIEnumerableConditional
No41
49
49
59
69
76
99
103
70
75
193
176
53
63
DryIoc 4.0.736
49
56
79
57
102
76
89
58
83
326
232
58
78
Unity 5.11.1231
160
1598
926
3599
1995
8365
4647
9191
5255
15421
8702
3319
1861

 

并且以上基准是2020/2/2更新的测量结果。它是与Prism 7.2版SR1中包含的Unity和DryIoc相同版本的基准,因此非常适合进行比较。

如果只看基准测试结果,DryIoc的速度快得多,所以如果您要关注性能,可以选择DryIoc,但以上测量结果仅是DI容器的基准。并非总是能获得结果。

如您所见,Prism内置的DI容器仅在性能上有所不同,因此您可以选择它们只是因为它们具有良好的性能最近的大多数管理员样本都选择了DryIoc。(DryIoc用于样本,例如该系列中的MVVM L @ bo和WPF UI gallery)

但是,似乎有很多人使用诸如DI和Unity之类的搜索词来到此站点,因此在本系列中,我们将选择Unity作为DI容器,但是除非另有说明,否则我们将使用Unity或DryIoc。 ,说明不变。

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐