我们编写程序时是否要刻意为双核或者多核CPU进行优化
还是说我们仍然像往常一样编写这种工作交给操作系统?操作系统从来不会让你的程序神奇地变成并发。大概只有OpenMP能够用很少的额外工作把程序变成并发,但那也是编译时做的,而且和操作系统关系不大,而且比较局限。通常的做法是:分析程序有哪些同时执行的业务,按照业务本身划分工作线程,使用线程间设施进行同步。
■网友
谢邀使用好的编程语言的话,用户就不需要。代码执行机制会自动完成并行化
■网友
要
■网友
看软件对性能的需求。追求计算性能的程序显然要做多线程的优化。当然多线程的程序在单核CPU上也是可以跑的。
■网友
我就说说MATLAB的情况,因为实验都在用matlab,不过题主估计不关心。Matlab 并行计算工具箱及MDCE介绍这里写的就蛮清楚的,但是一般的硬件执行细节是应该对coding的程序员透明的,对开发语言的程序员来说是不透明的。
■网友
人的智慧,一般高于程序。有意对多核优化的程序,效果一定好于无意识的程序。
■网友
编译代码的时候,自动给你搞定了
■网友
答案取决于程序本身是否有并发。单进程线程的,比如纯运算程序,不优化那程序就在单一个核上跑,就算放到多核上跑或者用多核多线程优化处理,表现也几乎跟单核一样。说是几乎是因为在极端情况下,程序运行前的总计算负载非常高,多核操作系统会自动将程序分配到另一个空闲核上运行,这时多核下表现出来会更快,但这其实是因为系统中其他计算负载拖累的缘故;有并发的,操作系统调度器会为各个进程、线程分配核,一般不需要人工优化就有速度提升。一般的“程序挪到多核上就会“自动”变快”的印象,那是因为一般的应用级程序如桌面程序都是是多线程或进程,只有极少数专业程序是串行计算密集型。因此,准确的答案是加上一个前提:在轻载系统中,无需多核优化;在重载系统中,如果程序本身可并行化,则多核优化有效,否则可能反而更慢。
推荐阅读
- 用泡沫箱来养多肉老桩?只要我们把细节做好,同样可以养出状态来
- 沉船■长江千吨级沉船打捞记:守护“微笑天使”我们在行动!
- 『我们』无问西东】石奶引的荷包鼓了 【小康路上
- 接待日|省生态环境厅来通开展“企业环保接待日”
- 趣头条|我想给陪伴我们多年的桑塔纳一篇纪念文
- 搜狐新闻|欧拉好猫10.38万起贵不贵?我们采访了一位男性KOL发现……| 聚闻
- |我们不会忘记,广大苏商苏企挺身而出、“以义战疫”的情怀担当——奋不顾身,彰显家国情怀
- 小孩子|我害怕”婴儿真能看到我们看不见的东西?真相来了“妈妈
- 趣头条|透过e-tron FE07赛车,奥迪在向我们传递什么信息?
- 不懂技术,不会编写程序的人当项目经理,管项目,管人,行吗
