我的代码运行速度相当慢,但我知道它不需要调试。我的系统附带了第三方硬件,只能在调试模式下运行(是的,真的很痛苦,只需%$)。
所以我想为我的功能打开优化,但它在调试正常模式和优化开启之间使用完全相同的时间。
#pragma optimize("ts", on)
void DataAnalyze::PrepareData(std::vector<short>& data, std::vector<short>& laserData, std::vector<std::vector<double>>& normalizedData) {
...
}
#pragma optimize("ts", off)
这只能在发布模式下工作以关闭优化,还是我错过了什么?
答案 0 :(得分:1)
在阅读了意识到这是由STL引起的评论之后,我转而使用short*
来访问该向量,并将我的代码加速了3倍。