全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1918
推到 Plurk!
推到 Facebook!

檔案拷貝的速度

答題得分者是:bugmans
delphikt-mini
一般會員


發表:4
回覆:4
積分:1
註冊:2003-01-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-11-12 18:19:39 IP:210.61.xxx.xxx 訂閱
先問個安.
最近在整理一些東西時,突然發現了一個怪事.
不知道各位是否知道一套 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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-11-13 07:57:46 IP:59.125.xxx.xxx 訂閱
你有算過 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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-11-13 16:01:54 IP:210.61.xxx.xxx 訂閱
OK~我貼上測試的工作管理員狀態圖. 
另外不用懷疑圖一,是不是反過來先用total-commander 來作,它就會比較不順.這個也是有測過的.
網卡狀態圖

CPU狀態圖
編輯記錄
delphikt-mini 重新編輯於 2009-11-13 16:04:09, 註解 無‧
bugmans
高階會員


發表:95
回覆:322
積分:188
註冊:2003-04-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-11-14 08:58:51 IP:125.225.xxx.xxx 未訂閱
要把複製檔案的速度加快是需要很多的努力才會改善

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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-11-14 11:42:29 IP:210.61.xxx.xxx 訂閱

===================引 用 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的討論
系統時間:2024-04-19 20:16:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!