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