如何降低COM Interop / access的成本?

时间:2015-10-10 19:34:00

标签: c# .net performance assembly unmanaged

使用DllImport attribute在Visual C ++中编程时,可以替代P / Invoke。根据{{​​3}},我应该尝试减少使用量,以避免性能损失(强调我的):

  

P / Invoke vs. C ++ Interop

     

对于.NET语言,例如Visual Basic和C#,指定的方法   用于与本机组件互操作的是P / Invoke。因为   .NET Framework支持P / Invoke,Visual C ++支持它   好吧,但Visual C ++也提供了自己的互操作性支持,   这被称为C ++ Interop。 C ++ Interop比首选   P / Invoke因为P / Invoke不是类型安全的。结果,错误是   主要在运行时报告,但 C ++ Interop也有性能   优于P / Invoke的优势

所以,我的问题是当我确实需要访问低级代码,硬件或执行高性能计算时(仍然可以从托管中进行)?如果我需要更高(最好!)的性能,我可以使用一些C ++ / CLI或Visual C ++。 那太完美了!唯一的问题是我对C,C ++或Visual C ++几乎一无所知。所以我想如果我需要学习(至少在我将使用的实施方案中),为什么不一直踩到踏板直到金属,这意味着组装。

所以有一个问题是汇编代码可以与之交互, 如果目标主要是x64代码或实际上AnyCpu也可能是好的。 我关心的唯一问题是一般使用非托管任务的性能。

哪些版本的汇编语言与.NET兼容?我想选择的是最快的。 FASM / YASM / NASM?

0 个答案:

没有答案