DI / IoC容器性能基准比较?

我在这里找到了一些用于测试几个顶级.NET DI / IoC容器性能的2008年基准测试结果。 但我无法找到任何更新的结果。 是否有任何基准测试可以比较一些大的IoC容器(StructureMap,Unity,Ninject,Autofac,Castle Windsor等)?

我不建议使用性能基准来挑选IoC容器。 有许多更重要的因素,如function集,开发路线图和可维护性等。

要知道你所引用的基准测试,在最坏的情况下,只显示超过100万次调用的速度差异3-4倍。 在“真实世界”场景中,DI / IoC用于连接依赖项,并且对整体应用程序性能的影响非常小,因为此构建阶段占整个运行时的一小部分。 选择“高性能”与“低性能”IoC容器可能对应用程序的感知性能没有明显影响。

在不太可能的情况下,性能对您的特定使用情况非常重要,基准测试不太可能是IoC容器性能如何影响您的有效度量,因为基准测试往往倾向于特定的问题集。 如果您真的认为这是一个严重的问题,我强烈建议您进行自己的分析和测量。

就我而言,IoC容器的速度是一个重要因素。 我有一个执行许多注射的应用程序,发现Ninject正在大大减慢应用程序。 取出IoC完全解决了性能问题。 我将研究其他解决方案。

IoC Container Benchmark – 性能比较具有20多种产品的性能和function比较表,并且是最新的(最新更新21.12.2017)

文章的结论:

特别简单的注射器似乎是一个不错的选择。 它非常快,具有良好的文档,并且还支持拦截和通用装饰器等高级场景。

另请参阅相关的https://stackoverflow.com/questions/1140730/net-di-containers-comparison/ question。