我试图优化下面的循环。它对std::struct类型的向量执行for循环。然后检查类型是否等于"INSIDE_WITH_MORE_ONE_INTER“的任何成员。如果它找到了这样的成员,它就会在上面应用一个函数,最后根据结果,它可以将它的类型更改为"NOT_DEFINED“。
for(pnt_vec_iter pnt_iter = newpnTs.begin(); pnt_iter != newpnTs.end(); pnt_iter++)
{
if(pnt_iter->_type == INSIDE_WITH_MORE_ONE_INTER)
{
if(!DoublePointsOnEdgeCheck(*this, pnt_iter->_face, pnt_iter))
{
pnt_iter->_type == NOT_DEFINED;
}
}
}我想知道是否有可能优化上述代码,不包括定义函数的。
发布于 2014-11-20 11:29:13
这在很大程度上取决于上下文,比如
_type==ISIDE_WITH_MORE_ONE_INTER点的相对频率是多少?这些点是如何排列的?只需分析一下它,/设想/是什么使算法更快地在集合中拉链。
例如。
_type索引/排序了呢?”(您可以使用一个简单的equal_range(INSIDE_WITH_MORE_ONE_INTER)调用来减少工作量)type()中_type的值,会怎么样?“(或者这会破坏稳定吗?线程化?)等。
https://stackoverflow.com/questions/27038018
复制相似问题