C# 提高程序优先级,提高运算速度
答案:2 悬赏:20 手机版
解决时间 2021-03-29 02:33
- 提问者网友:刺鸟
- 2021-03-28 02:14
C# 提高程序优先级,提高运算速度
最佳答案
- 五星知识达人网友:煞尾
- 2021-03-28 03:18
应该是你算法需要优化,而不是提高线程的优先级。
还有,耗时的算法应该封装成C/C++库,然后C#来包装调用C/C++库函数,这样性能能提高很多,当然了,PInvote调用也是比较耗时的,所以建议不要频繁的调用PInvote,如果是For或者Foreach循环,应该封装到C/C++里。追问在一些算法上,C和C#就体现出来执行效率的问题了?追答必须的啊!
C++是编译执行的,就是编译成二进制机器码,CPU直接执行
C#是解释执行的,编译完了还只是一种中间语言,CPU执行前还需要根据CPU特性翻译一遍才执行。追问哦,我擦。估计别人都是用C/C++做的了。速度直接差2倍。。。。。。哎,蛋疼的C#。。。。。。
你看我发的那张图了没,为什么只有一个CPU再跑,怎么让多个跑起来,一起运算是不是好点?追答刚看到。
多CPU并行处理首先需要你的程序架构支持,比如多进程、多线程,其次,需要编译器支持,编译的时候需要做设置,这部分没涉及过,不敢妄谈。
还有,耗时的算法应该封装成C/C++库,然后C#来包装调用C/C++库函数,这样性能能提高很多,当然了,PInvote调用也是比较耗时的,所以建议不要频繁的调用PInvote,如果是For或者Foreach循环,应该封装到C/C++里。追问在一些算法上,C和C#就体现出来执行效率的问题了?追答必须的啊!
C++是编译执行的,就是编译成二进制机器码,CPU直接执行
C#是解释执行的,编译完了还只是一种中间语言,CPU执行前还需要根据CPU特性翻译一遍才执行。追问哦,我擦。估计别人都是用C/C++做的了。速度直接差2倍。。。。。。哎,蛋疼的C#。。。。。。
你看我发的那张图了没,为什么只有一个CPU再跑,怎么让多个跑起来,一起运算是不是好点?追答刚看到。
多CPU并行处理首先需要你的程序架构支持,比如多进程、多线程,其次,需要编译器支持,编译的时候需要做设置,这部分没涉及过,不敢妄谈。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯