加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 程序设计 > 正文

依赖注入性能测试(spring.net 和Enterprise Library)

发布时间:2020-05-25 02:16:18 所属栏目:程序设计 来源:互联网
导读:分类: 架构设计 .net开发 2009-11-07 16:25 503人阅读 评论(1) 收藏 举报 想在项目中大量使用依赖注入,故对其性能做了一个测试。 测试使用spring.net和微软企业库(Enterprise Library 4.1)来做依赖注入。 测试场景: 简单构造函数 对同一个对象生成10000次


分类: 架构设计 .net开发 2009-11-07 16:25 503人阅读 评论(1) 收藏 举报

想在项目中大量使用依赖注入,故对其性能做了一个测试。

测试使用spring.net和微软企业库(Enterprise Library 4.1)来做依赖注入。

测试场景:

  • 简单构造函数
  1. 对同一个对象生成10000次。
  2. 单例模式下,取得对象10000次。
  • 复杂构造函数
  1. 对同一个对象生成10000次。
  2. 单例模式下,取得对象10000次。

测试环境:

CPU:Q9500

内存:4G

操作系统:windows7

spring.net: 1.20

Enterprise Library 4.1

测试方式:

每个场景单纯测试,排除相互影响,每次测试运行3次,取平均值。

测试结果:

简单构造函数,取对象运行1万次

单例模式下加载时间对比

非单例模型下

复杂构造函数,取对象运行1万次

单例模式下加载时间对比

非单例模型下

数据分析

  • l 容器的加载,企业库要比spring快大约10-20微秒。
  • l 获取对象在单例模式下,企业库比spring慢大约50微秒/10000次。(每次大约0.005微秒)
  • l 获取对象在单例模式下,spring注入只需要4-5微秒/10000次。 (每次大约0.0005微秒)
  • l 获取对象在非单例模式下, 属性注入比不使用相差50微秒/10000次。(每次大约0.005微秒)

总结

两种依赖注入方式性能不存在太多差异。即使在执行一万次的情况下,也不会超过50微秒,实际使用中我们可以完全忽略不计。

依赖注入比直接实例化会慢50微秒/10000次,在单例模式用spring的情况下只慢50微秒/10000次,实际使用中我们也可以完全忽略不计。

总得来说,依赖注入可以放心使用,对系统性能产生影响可以忽略不计。

测试源码下载:http://download.csdn.net/source/1798686

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读