Performance Nuget Pack性能缓慢

Performance Nuget Pack性能缓慢,performance,nuget,pack,octopus-deploy,teamcity-9.0,Performance,Nuget,Pack,Octopus Deploy,Teamcity 9.0,我有一个设置,我们通过TeamCity将源代码打包到nuget包中,然后通过OctopusDeploy进行部署。打包的文件夹大小约为267MB。仅打包这些文件大约需要5-6分钟。该文件夹包含12000个文件和339个文件夹。我还有一个约183MB的文件夹,有297个文件和24个文件夹。这只需要大约35秒。你知道为什么用Nuget打包这些文件夹时会有如此大的时间差异吗?是否有助于提高性能的解决方案 谢谢NuGet软件包实际上是隐藏在引擎盖下的压缩档案,因此您将获得的性能将与您看到的压缩文件的速度非

我有一个设置,我们通过TeamCity将源代码打包到nuget包中,然后通过OctopusDeploy进行部署。打包的文件夹大小约为267MB。仅打包这些文件大约需要5-6分钟。该文件夹包含12000个文件和339个文件夹。我还有一个约183MB的文件夹,有297个文件和24个文件夹。这只需要大约35秒。你知道为什么用Nuget打包这些文件夹时会有如此大的时间差异吗?是否有助于提高性能的解决方案


谢谢

NuGet软件包实际上是隐藏在引擎盖下的压缩档案,因此您将获得的性能将与您看到的压缩文件的速度非常相似(NuGet只是对档案中的结构有一个严格的约定)

给定不同数量的文件,加起来总大小相同—所有常用归档格式都可以实现更快的压缩,并使用更少的文件实现更好的压缩(生成的文件更小)

如果你想进入底层细节,如果你想象整理你的硬盘,每个文件都是连续的,但是如果你有很多文件,它们会到处都是。这也增加了开销

处理多个文件后,任何单文件操作(在单个大文件上可能只花费很少一部分时间)也可能累积起来


总而言之,在软件开发中,不间断的操作在大块的土地上效率更高,而不是在闲聊的土地上效率更高,这几乎是一个真实的ism。

基本上,对更多更小文件的操作要比相反的操作慢。只是比较一下复制一个目录和另一个目录。