- 论坛徽章:
- 0
|
ARM平台: flash:256M 内存:128M
要求分析70M大小的数据3分钟之内出结果,现经过测试瓶颈主要卡在频繁读写文件上。大神们,看看如何优化?感谢!~~
部分代码:
fp_read = fopen(filepath, "rb" ;
for(i=0; i<32; i++)
{
strcpy(file_name, folder);
strcat(file_name, filename_arr[i]);
fp_write_arr[i] = fopen(file_name, "wb" ;
}
if(fp_read) {
while(!feof(fp_read)) {
memset(buffer, 0, 32000*sizeof(short));
count_tmp = fread(buffer, 2, 32000, fp_read);
for(i=0; i<count_tmp; i++)
{
buffer[i]=abs(buffer[i] - 3276 ; //求绝对值
fwrite(&buffer[i], 2, 1, fp_write_arr[i%32]); //循环写入每个子文件
}
}
}
要求是第一个数据放入第一个文件,第二个数据放入第二个文件 。。。。 第33个数据再放入第一个文件,目前测试主要卡在
fwrite(&buffer[i], 2, 1, fp_write_arr[i%32]); 频繁的写文件上,70M数据用时3分钟左右!!~
考虑扩大buffer 一次性写入多点,但效果不明显!!!求助! |
|