我注意到在基於ARM的設備上提取zip文件的時間非常長。提取20mb zip文件需要60秒以上!我在950XL上看到了140秒,這應該是更強大的ARM型號之一。UWP ARM System.IO解壓縮性能差
這是我使用的代碼:
var startExtractTime = DateTime.Now;
ZipArchive za = new ZipArchive(archiveMemoryStream, ZipArchiveMode.Read);
za.ExtractToDirectory(path);
var stopExtractTime = DateTime.Now;
var durationInSeconds = stopExtractTime.Subtract(startExtractTime).TotalSeconds;
這是我從這個方法期待怎樣的表現?有沒有其他方法可以解決這個問題?我寧願在我的項目中包含一個Zip文件,而不是在該文件中的HUGE目錄結構,但它無法從ARM設備獲得良好的性能,我可能沒有選項。
Flate壓縮速度可能非常慢,但減壓應該以合理的速度進行。我不會責怪ARM CPU。你有沒有嘗試用本地代碼與zlib?它可能是一個緩慢的文件系統,而不是一個慢速的CPU。您是否將數據寫入內部閃存或SD卡? – BitBank
我正在寫入應用程序的臨時數據文件夾。我認爲這是在設備上,所以在我的Lumia 950 XL的情況下,我預計它會非常快。 – emseetea