涉及数组运算的c++程序,原来是直接double声明的数组,openmp并行后计算速度增加明显,数组改为new声明后

涉及数组运算的c++程序,原来是直接double声明的数组,openmp并行后计算速度增加明显,数组改为newdouble声明后,openmp并行后计算速度没有变化,反而... 涉及数组运算的c++程序,原来是直接double声明的数组,openmp并行后计算速度增加明显,数组改为new double声明后,openmp并行后计算速度没有变化,反而降低了一点,不知道怎么回事。谢谢各位的指点。 展开
 我来答
losemyheaven
2013-10-05
知道答主
回答量:10
采纳率:0%
帮助的人:10.1万
展开全部
直接声明的变量是在栈上面的
new出来的内存是在堆上面的 相比较来说,new更需要更多一些时间去申请内存,因为要调用操作系统的接口来实现分配,而不像声明的变量那样申请空间那么直接,所以速度更慢
更多追问追答
追问
数组只是在程序最开始声明的,之后的循环(并行)只涉及数组的运算,不涉及数组的声明,我说的并行效率是指数组已经声明后,涉及数组运算的循环(并行)的计算效率。谢谢您及时热心的回答
追答
你是怎样计算效率的? 
你能否确定程序在进行数组运算的过程中变慢么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zlp_zero
2013-10-04
知道答主
回答量:10
采纳率:0%
帮助的人:1.4万
展开全部
new 要分配静态存储空间。 速度自然慢了。。。。
追问
数组只是在程序最开始声明的,之后的循环(并行)只涉及数组的运算,不涉及数组的声明,我说的并行效率是指数组已经声明后,涉及数组运算的循环(并行)的计算效率。谢谢您及时热心的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式