Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将文件逐个压缩或全部压缩在一起_C#_.net_Gzip - Fatal编程技术网

C# 将文件逐个压缩或全部压缩在一起

C# 将文件逐个压缩或全部压缩在一起,c#,.net,gzip,C#,.net,Gzip,我在C#中使用GZip。我有多个文件要压缩并放在一起。 但是我不知道我是否一个接一个地压缩文件,然后将它们保存在一个文件中比从它们生成一个文件,最后只压缩创建的文件要好。 生成的文件大小如何?哪一个比生成较小的文件大小更好?我尝试在两个图像文件上实现这些选项,结果是: 图像1 6kb+图像2 7kb=13kb 图像1压缩3kb+图像2压缩3kb=6kb 在这个样本中没有区别。 因此,最好使用第二个选项。如果您希望优化文件大小,将它们放在一个zip文件中可能会更好一些,具体取决于文件中的数据;使用

我在
C#
中使用
GZip
。我有多个文件要压缩并放在一起。 但是我不知道我是否一个接一个地压缩文件,然后将它们保存在一个文件中比从它们生成一个文件,最后只压缩创建的文件要好。
生成的文件大小如何?哪一个比生成较小的文件大小更好?

我尝试在两个图像文件上实现这些选项,结果是:

图像1 6kb+图像2 7kb=13kb

图像1压缩3kb+图像2压缩3kb=6kb

在这个样本中没有区别。
因此,最好使用第二个选项。

如果您希望优化文件大小,将它们放在一个zip文件中可能会更好一些,具体取决于文件中的数据;使用的确切设置等


如果您希望在运行时进行优化,并且所使用的库是单线程的,那么您可以通过将每个文件压缩到其自己的线程中来潜在地获得较大的性能提升,但这假设Gzip是处理器绑定的,而这很可能不是


总的来说,结果可能是主观的,并且非常依赖于您试图压缩的数据。您最好的选择可能是抓取一些有代表性的文件样本,用几种不同的方法对它们进行压缩,然后看看哪种方法最适合您的需要。

“更好”是如何实现的?结果文件大小?代码的执行速度?什么?一般来说,我的意思是,我没有更好的实施经验。。。这是主观的。只有两种选择——为什么不自己尝试,并根据自己的标准进行比较呢?