亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
求助,如何縮短arm平臺(tái)頻繁讀寫文件時(shí)間。!
[打印本頁]
作者:
yu9148
時(shí)間:
2015-04-02 18:34
標(biāo)題:
求助,如何縮短arm平臺(tái)頻繁讀寫文件時(shí)間。!
ARM平臺(tái): flash:256M 內(nèi)存:128M
要求分析70M大小的數(shù)據(jù)3分鐘之內(nèi)出結(jié)果,現(xiàn)經(jīng)過測試瓶頸主要卡在頻繁讀寫文件上。大神們,看看如何優(yōu)化?感謝!~~
部分代碼:
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
; //求絕對(duì)值
fwrite(&buffer[i], 2, 1, fp_write_arr[i%32]); //循環(huán)寫入每個(gè)子文件
}
}
}
要求是第一個(gè)數(shù)據(jù)放入第一個(gè)文件,第二個(gè)數(shù)據(jù)放入第二個(gè)文件 。。。。 第33個(gè)數(shù)據(jù)再放入第一個(gè)文件,目前測試主要卡在
fwrite(&buffer[i], 2, 1, fp_write_arr[i%32]); 頻繁的寫文件上,70M數(shù)據(jù)用時(shí)3分鐘左右!~
考慮擴(kuò)大buffer 一次性寫入多點(diǎn),但效果不明顯!!求助!
作者:
鎮(zhèn)水鐵牛
時(shí)間:
2015-04-02 20:20
你的flash讀寫性能有多少,如果ram夠大,把數(shù)據(jù)都cache在ram中,開銷就是讀寫flash的了吧。
作者:
yu9148
時(shí)間:
2015-04-03 09:22
因?yàn)閿?shù)據(jù)大小也不能確定,也試過在程序中緩存多一點(diǎn),比如10000個(gè)字節(jié)寫一次,相當(dāng)于32*10000,但是效果沒有改善。
再大一個(gè)數(shù)量級(jí)測試就出錯(cuò)了!
用沒有好的算法能提高這么大的循環(huán)寫文件? 以70M的文件為例,這個(gè)要寫 70*1024*512次!
作者:
yu9148
時(shí)間:
2015-04-03 10:17
以70M數(shù)據(jù)為例,這段代碼測試時(shí)間為203s,注釋掉寫文件只要6s。求指點(diǎn)!
//fwrite(&buffer[i], 2, 1, fp_write_arr[i%32]);
作者:
鎮(zhèn)水鐵牛
時(shí)間:
2015-04-07 21:34
注釋掉寫操作,性能好也可以理解,畢竟flash的寫懲罰,性能比較慘淡。
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2