我注意到在基于ARM的设备上提取zip文件的时间非常长。提取20mb的zip文件需要60多秒!我在950XL上看到甚至140秒,这应该是更强大的ARM型号之一。
这是我正在使用的代码:
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设备获得良好的性能,我可能没有选择。
答案 0 :(得分:1)
Zip解压缩本身不应该花费那么多时间。但是,如果您的存档包含许多小文件,则这可能是闪存驱动器/内部闪存的瓶颈。尝试解压缩单个文件20Mb存档以检查它是CPU还是文件系统问题。