引言
最近发现项目代码中有一个对性能影响极大的for循环,该循环在处理2GB数据的时候,执行时间超长,导致程序直接卡死。因为最初没有涉及到大数据处理的场景,所以其对性能的影响是可以容忍的,但是最近开发了新的功能,需要处理大数据(GB),也用到了此处的代码,所以耗时的影响极其明显。
问题分析
先看如下示例代码:
class SampleData {
public:
void setData(char* data) {
int i = 0;
int word = _width / 32;
int n = word * 32;
for (; i < n; i += 32) {
process(_data, data, i, 32);
}
process