加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 05:51:26 所属栏目:百科 来源:网络整理
导读:??想在项目中大量使用依赖注入,故对其性能做了一个测试。 ??测试使用spring.net和微软企业库(Enterprise Library 4.1)来做依赖注入。 ??测试场景: ??简单构造函数 ??对同一个对象生成10000次。 ??单例模式下,取得对象10000次。 ??复杂构造函数 ??对同一个

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

??测试使用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万次

单例模式下加载时间对比

?

不使用IOC

spring

企业库

?加载容器

105

101

102

AVG

102.667

83

82

?

82

AVG

82.333

取得对象

4

4

4

AVG

4

56

56

57

AVG

56.333

总时间

109

105

106

AVG

106.667

139

138

140

AVG

139

?

非单例模型下

?

不使用IOC

spring

企业库

?加载容器

86

88

88

AVG

87.333

76

76

?

78

AVG

76.667

取得对象

0

62

66

60

AVG

62.667

59

60

57

AVG

58.667

总时间

0

149

154

148

AVG

150.333

136

136

135

AVG

135.667

?

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

单例模式下加载时间对比

?

不使用IOC

spring

企业库

?加载容器

100

101

101

AVG

101.667

81

80

?

81

AVG

80.667

取得对象

5

4

4

AVG

4.333

56

56

57

AVG

56.333

总时间

105

105

106

AVG

105.667

138

137

138

AVG

137.667

?

非单例模型下

?

不使用IOC

spring

企业库

?加载容器

88

87

87

AVG

87.333

76

77

?

77

AVG

76.667

取得对象

36

96

99

99

AVG

98

93

95

95

AVG

94.333

总时间

36

185

186

186

AVG

185.667

169

172

172

AVG

171

?

?

?

?

数据分析

  • 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

(编辑:李大同)

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

    推荐文章
      热点阅读