我有一个可行的并行化解决方案。然而,并行化对执行时间的改善非常非常轻微。我认为这是因为我在循环中新建并删除了一些变量。我希望它是堆栈创建的,但是 Command 类是抽象的,并且必须保持抽象。我能做些什么来解决这个问题?如何改善花在这些非常长的循环上的时间???
#pragma omp parallel for reduction(+:functionEvaluation)
for (int i=rowStart;i<rowEnd+1;i++)
{
Model model_(varModel_);
model_.addVariable("i", i);
model_.addVariable("j", 1);
Command* command_ = formulaCommand->duplicate(&model_);
functionEvaluation += command_->execute().toDouble();
delete command_;
}
问题也可能出在其他地方!欢迎咨询!!
谢谢并恭祝安康。