UWP ARM System.IO 解压性能差
UWP ARM System.IO Decompression performance is poor
我注意到在基于 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 文件,而不是这个文件中的巨大目录结构,但我无法从 ARM 设备获得良好的性能,我可能没有选择。
Zip 解压本身应该不会花费那么多时间。但是,如果您的存档包含大量小文件,这可能成为闪存 drive/internal 闪存的瓶颈。尝试解压单文件 20Mb 压缩文件,检查是否是 CPU 或文件系统问题。
我注意到在基于 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 文件,而不是这个文件中的巨大目录结构,但我无法从 ARM 设备获得良好的性能,我可能没有选择。
Zip 解压本身应该不会花费那么多时间。但是,如果您的存档包含大量小文件,这可能成为闪存 drive/internal 闪存的瓶颈。尝试解压单文件 20Mb 压缩文件,检查是否是 CPU 或文件系统问题。