visual-studio-2010 - C# 4.0 动态 Office 互操作性能

标签 visual-studio-2010 dynamic office-interop

我采用了一个在 Visual Studio 2008 中开发的应用程序,并通过 COM Interop 使用了各种 Office 库。我开始使用 dynamic 关键字和 Visual Studio 2010 进行一些概念开发证明。我发现使用 dynamic 执行相同的任务比“旧”方式慢 5-10 倍左右。有没有其他人经历过这种程度的性能下降?这是已知的还是我应该找到一种方法来报告这个?

最佳答案

是的,dynamic 对性能有影响。关键词。这样做的原因是因为它必须将值装箱到 object 中。键入,然后使用 DLR(一次性)对其进行编译和评估。与已知类型相比,这将在处理器上花费更多时间。您可以在此 question 上看到已接受的答案以获得更详细的描述。

最后,在您的情况下,情况会更糟,因为它已经是一个 COM 对象,因此在 COM 开销之上装箱和拆箱该对象会被夸大。

关于visual-studio-2010 - C# 4.0 动态 Office 互操作性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1897784/

相关文章:

visual-studio-2010 - 如果系统是 64 位,则安装 VC++ Runtime 64 位

.net - 如何在 clr.dll 或 mscoree.dll 中调试

php - 哪个更快,纯 HTML 还是来自数据库的存储 HTML?

c# - 获取 AppDomain 中所有可用命名空间的列表

function - 使用rust 的嵌套动态功能对象

c# - 从 C# 设置 Word 2010 文档页边距

.net - 我什么时候需要调用 ReleaseComObject?

c++ - 迁移到 VS2010 后出现奇怪的 IDL 错误

visual-studio-2010 - 如何通过 ankhSVN 从 Visual svn 服务器导入项目?

c# - 如何为 Outlook AppointmentItem 的类别着色