用C++写算法,然后在C#中调用C++写的算法动态库来执行,这样会不会比直接用C#写算法的效率要高?

解决方案 »

  1.   

    不一定...算法效率是由写算法的人决定的...不过混合编程没什么不可以,只是部署没纯托管代码那么方便...ps:F#是专用于数学算法设计的纯托管语言...
      

  2.   

    简单的算法C++写,复杂的算法就得靠C#了,
    就好比简单的算法汇编可以搞定,复杂的就得靠C 了~
      

  3.   

    和直接用c#差不多,因为主体是C#,执行也要生成中间语言啊。能不能把算法直接用c++生成可执行模块,数据通讯借助存储(文件、数据库等),如果相互(C#主体和c++算法模块)通讯不是很频繁,是可以考虑的
      

  4.   

    这样是可行的, 用c++/cli可以直接引用项目。
      

  5.   

    同样的算法下面,c++绝对比c#快,而且不是快一点,我测试过奇数运算,大概能快七八十倍,当然同样算法下面,vc能优化的地方更多,比如内存之类的,C#是不提供这些的,我是指同样算法,都尽可能优化的情况下而。如果更复杂的算法,不考虑读写磁盘的,仅仅是计算方面的,c应该比c#快百倍。另外我还测试过google浏览器中的javascript运算奇数,竟然和C#差不多速度,这说明C#在运行交率方便还有很大优化的余地。
      

  6.   

    谢谢各位!那如果我用C#调用C++写的算法会比直接用C#写算法的运行效率要高吗?假设算法编写得同样好