2011-03-01 31 views
-1

誰能告訴我爲什麼兩個文件 - 對方的重複 - 需要不同的時間來加載內存?重複的文件需要不同的時間來閱讀

var fileStream = new FileStream(filename, 
        FileMode.Open, 
        FileAccess.Read, 
        FileShare.Read, 
        16 * 1024, 
        FileOptions.SequentialScan); 

這是此行是緩慢的(一個文件需要3倍的時間......)

fileStream.CopyTo(Form1.GlobalMS); 

奇怪的是,當我複製文件(CMD窗口),然後嘗試加載文件 - 加載速度非常快......幾乎就好像新創建的文件在某種程度上更容易訪問 - 這可能與舊文件在某些​​方面變得碎片有關嗎?這些都是1G加上文件由

+1

將橙色文字「0%...」更改爲至少灰色文字和綠色首字母。 – Terry 2011-03-01 12:18:57

+2

至少他是一致的 - 不用擔心是否可以接受或不接受 - 你知道你站在@ManInMoon的哪個位置。 – 2011-03-01 12:20:28

+0

什麼是文件大小?他們需要多長時間?他們在同一張磁盤上嗎?它們在磁盤上是連續的嗎?他們中的一個被緩存了嗎?你嘗試過什麼緩衝區大小? – Gabe 2011-03-01 13:33:17

回答

0

他們是否存儲在不同的地方的方式(例如,一個網絡共享?)

你怎麼計時?你確定你不會忘記重置一個計時器,所以你從第二個計時器得到的計時包括第一個計時器?

您是否清除兩個測試之間的任何變量以確保時間公平?

+0

否我重建並重新啓動應用程序。文件存儲在c:驅動器和時間完成線路調用之前和之後DateTime.Now – ManInMoon 2011-03-01 13:36:17

0

也許您在加載第一個文件後沒有足夠的內存來加載第二個文件?那麼PC使用硬盤模擬RAM?

+0

您好Bogdan,不,我不同時加載這兩個文件。我建立和運行我的代碼和文件加載在30秒。然後我完全關閉並重建並使用fileB啓動代碼,但需要2秒。我所做的一切都是在代碼中更改文件名... – ManInMoon 2011-03-04 10:18:39

相關問題