使用Prism的DI容器时,Unity和DryIoc之间没有功能上的区别,因此请比较性能。仅在DryIoc博客上比较DI容器的基准 出版了,所以我从中提取了DryIoc和Unity。
该基准是测量从每个DI容器中获取以下类型的类500,000次(解析)的时间(以毫秒为单位)的结果,较高的数字是单线程,较低的数字是多线程处理,这似乎是结果。 *以下类型的说明是从网络翻译中推断出的句子,因此可能与实际的句子有所不同。
- 单例:单例对象
- 瞬态:具有临时寿命的对象
- 合并的:具有两个依赖项(Singleton和Transient)的对象。
- 复杂:具有嵌套依赖关系的对象
- 泛型:具有泛型依赖性的对象
- IEnumerable:实现IEnumerable的对象
- 条件的:具有条件依赖性的对象
并且以上基准是2020/2/2更新的测量结果。它是与Prism 7.2版SR1中包含的Unity和DryIoc相同版本的基准,因此非常适合进行比较。
如果只看基准测试结果,DryIoc的速度要快得多,所以如果您要关注性能,可以选择DryIoc,但以上测量结果仅是DI容器的基准。并非总是能获得结果。
如您所见,Prism内置的DI容器仅在性能上有所不同,因此您可以选择它们只是因为它们具有良好的性能。最近的大多数管理员样本都选择了DryIoc。