多年来,人们一直听说 C++ 速度很快,因此,例如,它对于图像处理很有好处。
如果我正在用 C# 开发一个系统,需要进行一些图像处理,并且我想提高性能,最好的方法是什么?
1 - 全部用 C# 完成,并执行“非托管”包含的图像处理功能
2 - 用 C++ 编写处理图像的函数并将该函数导入到我的 C# 代码中?
还有问题吗?
哪一个可以提高性能?
最佳答案
它是 C++ 到 C# 调用和 IL 代码到机器代码生成之间的权衡。
- C# 生成 IL 代码,该代码将在运行时转换为机器代码。机器代码生成会产生一些成本。
- 从C#中,您可以调用C++ DLL的方法。加载 C++ 方法并调用它会产生一些成本。
现在您需要比较 1 和 2 的成本。
关于c# - 使用 C++ dll 函数提高 C# 项目的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12709153/