IoC容器涉及哪些性能开销?

UpT*_*eek 8 performance design-patterns inversion-of-control

当然,松散耦合是很好的,但我经常想知道使用IoC容器(例如Castle Windsor)动态连接的架空线路是通过紧耦合系统进行的?

我知道详细的答案将取决于IoC的用途,但我真的只是想了解IoC工作所涉及的工作量.

有没有人有关于此的任何统计数据或其他资源?

谢谢

Avr*_*ram 9

有关于性能的链接
http://realfiction.net/?q=node/143
有结果

  • 正常结构:0.0001/0.0002
  • 活化剂结构:0.0069/0.0071
  • 集装箱建筑(Castle Windsor):0.1014/0.1068
  • 容器构造(Spring.NET):0.069/0.0722

但是你可以看到温莎不是最快的IoC(Autofac更快)

正确答案是,性能无关紧要:).
因为正确使用IoC,所有注册过程都处于初始化阶段.
换句话说,使用IoC必须实时减少"if else"的数量.

  • 注意,这是10000个实例.最大的开销是创建第一个实例(包括解析XML和解析依赖关系).剩下的时间与手头的许多任务无关. (3认同)
  • 是的,客户不关心加载时间. (2认同)