【发布时间】:2011-10-24 12:46:25
【问题描述】:
我正在评估不同的 IoC 容器并进行了一些性能测试。在我看来,Spring.NET 在解析由多个类实现的接口时确实很糟糕。
例如给定XmlObjectFactory 类型的container,我调用
foreach (IDummy dummy in container.GetObjectsOfType(interfaceType).Values) {
dummy.Do();
}
但是,它比我尝试过的任何其他 IoC 框架(即 autofac、castle-windsor、lightcore、ninject、structuremap 和 unity)花费的时间长 200 倍。
性能真的那么差,还是我做错了™?
【问题讨论】:
-
这种情况下可能没有缓存,但你多久会做一次这样的事情?拥有数百个定义可能会让人有些头疼,但这是一个真正的问题场景吗?
-
@Thomas:您是否在任何地方发布您的测试结果?读起来会很有趣。
-
@Marijn 你可以在github.com/thoemmi/di_speed 看到代码,它是我从github.com/philipmat/di_speed 派生的。也许有一天我会在博客上写下我的发现;)
标签: autofac castle-windsor lightcore ninject structuremap unity .net inversion-of-control spring.net