檔案拷貝的速度 |
答題得分者是:bugmans
|
delphikt-mini
一般會員 ![]() ![]() 發表:4 回覆:4 積分:1 註冊:2003-01-14 發送簡訊給我 |
先問個安.
最近在整理一些東西時,突然發現了一個怪事. 不知道各位是否知道一套 total commander(以前叫 windows commander)的工具 它在拷貝單一個大約2G(2000000000)的檔案時,大約都在40秒 -5 而我用delphi 寫的一定是大於50秒 接著我在這裏找到了 ttp://delphi.ktop.com.tw/board.php?cid=30&fid=69&tid=56095 拿出上篇內所有的例子來測,還是大於50秒 雖然一個檔案[只差]10秒,但如果多一點,大一點,往往差了一分鐘以上. 這,有那位先進可以想出它是怎麼辦到的嗎? ================================================================ 測試環境: 全1G網路(卡,HUB) 單機端:win-xp 4Gram 300G sata一顆 主機端:fedora 5 samba , 500G sata x6 (raid 10) ================================================================ 最大的不同在,用工作管理員觀察,total commander的網路傳輸速度, 幾乎是在45%上下的一條平穩的直線. 而我自己寫的,則是在20%-45%之間不停上下的震蕩線。 編輯記錄
taishyang 重新編輯於 2009-11-12 18:46:50, 註解 分類成[問題]‧
|
syntax
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
你有算過 total commander 的記憶體消耗量嗎?
===================引 用 delphikt-mini 文 章=================== 先問個安. 最近在整理一些東西時,突然發現了一個怪事. 不知道各位是否知道一套 total commander(以前叫 windows commander)的工具 它在拷貝單一個大約2G(2000000000)的檔案時,大約都在40秒 -5 而我用delphi 寫的一定是大於50秒 接著我在這裏找到了 ttp://delphi.ktop.com.tw/board.php?cid=30&fid=69&tid=56095 拿出上篇內所有的例子來測,還是大於50秒 雖然一個檔案[只差]10秒,但如果多一點,大一點,往往差了一分鐘以上. 這,有那位先進可以想出它是怎麼辦到的嗎? ================================================================ 測試環境: 全1G網路(卡,HUB) 單機端:win-xp 4Gram 300G sata一顆 主機端:fedora 5 samba , 500G sata x6 (raid 10) ================================================================ 最大的不同在,用工作管理員觀察,total commander的網路傳輸速度, 幾乎是在45%上下的一條平穩的直線. 而我自己寫的,則是在20%-45%之間不停上下的震蕩線。 |
delphikt-mini
一般會員 ![]() ![]() 發表:4 回覆:4 積分:1 註冊:2003-01-14 發送簡訊給我 |
編輯記錄
delphikt-mini 重新編輯於 2009-11-13 16:04:09, 註解 無‧
|
bugmans
高階會員 ![]() ![]() ![]() ![]() 發表:95 回覆:322 積分:188 註冊:2003-04-12 發送簡訊給我 |
要把複製檔案的速度加快是需要很多的努力才會改善
http://www.ipmsg.org/tools/fastcopy.html.en 可以參考fastcopy的簡介和原始碼(參考fastcopy.cpp,fastcopy.h) 是否為不同硬碟的檔案複製,硬碟格式是NTFS或FAT,buffer的大小 硬碟sector的大小,複製檔案的大小,讀和寫分為不同的thread 這都是影響速度的關鍵 相信total commander也不例外 |
delphikt-mini
一般會員 ![]() ![]() 發表:4 回覆:4 積分:1 註冊:2003-01-14 發送簡訊給我 |
===================引 用 bugmans 文 章=================== 要把複製檔案的速度加快是需要很多的努力才會改善 http://www.ipmsg.org/tools/fastcopy.html.en 可以參考fastcopy的簡介和原始碼(參考fastcopy.cpp,fastcopy.h) 是否為不同硬碟的檔案複製,硬碟格式是NTFS或FAT,buffer的大小 硬碟sector的大小,複製檔案的大小,讀和寫分為不同的thread 這都是影響速度的關鍵 相信total commander也不例外 ======================================================= 恩,想想也只有thread是最可能的了 但是我用討論區內的幾個例子去改,都會出現--在讀大容量時,寫入的thread就無法運作的現象 哎,希望不是delphi的問題. OK,不管怎麼說 bugmans大大給了一個好範例(還有原碼啊~) 所以分數我就先給您了(雖然我看不太懂VC) 希望以後能看到比較接近的DELPHI的討論 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |