SD卡加速程式實測 - Android

By Harry
at 2011-04-17T14:28
at 2011-04-17T14:28
Table of Contents
※ 引述《diecorroder (該死的,認床睡不著= =)》之銘言:
首先 他的原理是去改
/sys/devices/virtual/bdi/default/
/sys/devices/virtual/bdi/179:8/
/sys/devices/virtual/bdi/179:0/
這三個地方 裡面有 read_ahead_kb 這個device參數而已
而這個參數是在kernel裡面的 /include/linux/mm.h http://0rz.tw/kYEOx 裡面的1173行
所以你的kernel如果不是官方 可能會被調過(調成??) 所以就不見得需要這東西
--------------------------------------
而這個read buffer 是否會影響速度呢?
答案是會 但不明顯 要重申一點 測速軟體 就向你買保險一樣 看起來心安而已
並沒有太大的意義 有需要我可以寫一個快樂表...XD 測出來都飛快
你可以用 "SD Card Speed Test" 來測,我實側的結果是沒任何改變
至於有些測速軟體會有改變 是因為他們寫法的問題 這我不太清楚
--------------------------------------
另外buffer太大 會很浪費記憶體
你簡單的說你想想看 我要讀記憶卡裡面一張小圖片 10KB
結果還要先開2048KB(2MB) 的空間來讀 如果我同時開+讀100張小圖片(fopen+fread)
那等於是浪費掉 100*(2048-128)=192MB
你的機器有這麼大的記憶體可以浪費嗎? 我想是沒,因此會 out of memory 程式會爆掉
但你沒辦法知道你跑的程式 他是否有特殊需求 需要同時讀一堆檔案(?)
就我所知 應該是很少?
大部分應該都是只會用一條thread讀, 這樣只會增加一點點記憶體浪費
所以用起來應該是還好
大家要知道各家廠商的kernel 一開始就設128 是有他的道理的
----------------------------
簡單的說 這東西 雙面刀刃 設越大 會越浪費記憶體 設太小 會讀卡慢
但設很大 也不見得會快到哪去
我個人是建議
1.不用盲目的使用測速軟體
2.你可以調整大小 搭配你使用有"讀取"SD卡相關的程式(EX:遊戲) 看是否有明確的改變
3.千萬不要調太大
我個人128與2048 對我來說 感覺都一樣?
-----------------------------
附註:
如何查目前buffer多大?
用電腦cmd打
"adb shell cat /sys/devices/virtual/bdi/179:0/read_ahead_kb"
(179:0 是desire的 不同機子 可能不同)
你也可以直接用adb修改
adb shell
su
echo 2048 > /sys/devices/virtual/bdi/179:0/read_ahead_kb
--
男人都偏好女色,女人都偏好男色
但是PDA千萬不要帶有顏色,不管你是藍色,綠色
請支持我~記帳小冊!
Http://gpcsoft.24cc.cc
--
首先 他的原理是去改
/sys/devices/virtual/bdi/default/
/sys/devices/virtual/bdi/179:8/
/sys/devices/virtual/bdi/179:0/
這三個地方 裡面有 read_ahead_kb 這個device參數而已
而這個參數是在kernel裡面的 /include/linux/mm.h http://0rz.tw/kYEOx 裡面的1173行
所以你的kernel如果不是官方 可能會被調過(調成??) 所以就不見得需要這東西
--------------------------------------
而這個read buffer 是否會影響速度呢?
答案是會 但不明顯 要重申一點 測速軟體 就向你買保險一樣 看起來心安而已
並沒有太大的意義 有需要我可以寫一個快樂表...XD 測出來都飛快
你可以用 "SD Card Speed Test" 來測,我實側的結果是沒任何改變
至於有些測速軟體會有改變 是因為他們寫法的問題 這我不太清楚
--------------------------------------
另外buffer太大 會很浪費記憶體
你簡單的說你想想看 我要讀記憶卡裡面一張小圖片 10KB
結果還要先開2048KB(2MB) 的空間來讀 如果我同時開+讀100張小圖片(fopen+fread)
那等於是浪費掉 100*(2048-128)=192MB
你的機器有這麼大的記憶體可以浪費嗎? 我想是沒,因此會 out of memory 程式會爆掉
但你沒辦法知道你跑的程式 他是否有特殊需求 需要同時讀一堆檔案(?)
就我所知 應該是很少?
大部分應該都是只會用一條thread讀, 這樣只會增加一點點記憶體浪費
所以用起來應該是還好
大家要知道各家廠商的kernel 一開始就設128 是有他的道理的
----------------------------
簡單的說 這東西 雙面刀刃 設越大 會越浪費記憶體 設太小 會讀卡慢
但設很大 也不見得會快到哪去
我個人是建議
1.不用盲目的使用測速軟體
2.你可以調整大小 搭配你使用有"讀取"SD卡相關的程式(EX:遊戲) 看是否有明確的改變
3.千萬不要調太大
我個人128與2048 對我來說 感覺都一樣?
-----------------------------
附註:
如何查目前buffer多大?
用電腦cmd打
"adb shell cat /sys/devices/virtual/bdi/179:0/read_ahead_kb"
(179:0 是desire的 不同機子 可能不同)
你也可以直接用adb修改
adb shell
su
echo 2048 > /sys/devices/virtual/bdi/179:0/read_ahead_kb
--
男人都偏好女色,女人都偏好男色
但是PDA千萬不要帶有顏色,不管你是藍色,綠色
請支持我~記帳小冊!
Http://gpcsoft.24cc.cc
--
Tags:
Android
All Comments

By Sierra Rose
at 2011-04-18T02:00
at 2011-04-18T02:00

By Hamiltion
at 2011-04-18T09:53
at 2011-04-18T09:53

By Mary
at 2011-04-18T11:53
at 2011-04-18T11:53

By Hedda
at 2011-04-22T10:21
at 2011-04-22T10:21

By Olive
at 2011-04-22T14:15
at 2011-04-22T14:15

By Skylar Davis
at 2011-04-25T22:56
at 2011-04-25T22:56

By Dora
at 2011-04-28T17:00
at 2011-04-28T17:00

By Liam
at 2011-04-30T13:07
at 2011-04-30T13:07
Related Posts
HeyTell 跨平台網路對講機

By Andrew
at 2011-04-14T03:28
at 2011-04-14T03:28
咪醬的歡樂假期1.0版來囉

By Olivia
at 2011-04-13T21:11
at 2011-04-13T21:11
Qloud Video 雲端網路應用

By Hedy
at 2011-04-13T15:33
at 2011-04-13T15:33
firefox browser

By Queena
at 2011-04-13T15:17
at 2011-04-13T15:17
【新】女生必備的「女孩的小本本」改版囉!!快去更新吧~

By George
at 2011-04-13T14:01
at 2011-04-13T14:01