提取.zip存档的最快方法

| 哪种方法是提取.zip存档的最快方法?我的应用程序的性能高度取决于.zip文件的提取速度。我正在使用dotNetzip atm,但似乎可能会有更快的工具。如果有,他们安全吗?我听说QuickLZ是最快的,但尚未对其进行测试,也未找到任何代码示例或如何在c#中使用它。任何帮助将不胜感激。     
已邀请:
如果可以将项目升级到.NET 4.5,则可以使用
ZipArchive
类。我写了一篇有关使用它的文章,这简直太简单了。还有
ZipFile
,我也写过,甚至更简单。但是,我无法对性能发表评论,因为我尚未使用第三方库来存储ZIP存档。     
使用DotNetZip库,您可以仅使用ExtractAll()方法提取所有文件:)     
做我们自己的测试,到目前为止,7-zip CLI(exe文件)是最快的。 CLI应用程序的性能胜过所有那些.NET dll,这听起来很疯狂,但不幸的是,事实是这样。 确切地说,我已经使用ZipFile和ZipArchive对SharpCompress,SharpZipLib,DotNetZip,.NET自己的实现进行了测试。对于我们的测试文件,所有这些文件都在运行10-20秒左右,但是7-zip的exe进程通常在7-8秒后完成。 如果您决定使用7-zip,这是示例代码:
    private static void ExtractWith7Zip(string archivePath, string extractPath)
    {
        var info = new ProcessStartInfo
        {
            FileName = @\"C:\\Program Files\\7-Zip\\7z.exe\",
            Arguments = $\"x -y -o\\\"{extractPath}\\\" \\\"{archivePath}\\\"\",
            WindowStyle = ProcessWindowStyle.Hidden,
            CreateNoWindow = true,
            UseShellExecute = false,
            RedirectStandardOutput = true
        };

        Process.Start(info)?.WaitForExit();
    }
    
您的zip文件有多大?也许您可以利用现代多核处理器的优势,方法是将原始文件分成多个部分,分别压缩每个部分,然后使用多线程将其解压缩到应用程序中。与解压缩时间相比,重新组合内存中文件的时间将很小。     

要回复问题请先登录注册