应同事需要,对接手的3D模块做了此性能测试,发现vector<>::size()的独占时间居然高踞十大。查看代码后发现,几乎所有的for循环都是类似如下写法:
for(size_t i=0; i<vector<>.size(); i++){...}
于是,将大部分循环更改成如下代码:
size_t nCount = vector<>.size();
for(size_t i=0; i<nCount; ++i){...}
而后,发现效率提升了接近10%!!!
应同事需要,对接手的3D模块做了此性能测试,发现vector<>::size()的独占时间居然高踞十大。查看代码后发现,几乎所有的for循环都是类似如下写法:
for(size_t i=0; i<vector<>.size(); i++){...}
于是,将大部分循环更改成如下代码:
size_t nCount = vector<>.size();
for(size_t i=0; i<nCount; ++i){...}
而后,发现效率提升了接近10%!!!