Nuget Pack 性能低下
Nuget Pack slow performance
我有一个设置,我们通过 Team City 将源代码打包到 nuget 包中,然后通过 Octopus 部署进行部署。打包文件夹的大小约为 267MB。仅打包这些文件,此过程大约需要 5-6 分钟。该文件夹包含 12,000 个文件和 339 个文件夹。我还有一个大约 183MB 的文件夹,其中包含 297 个文件和 24 个文件夹。这只需要大约 35 秒。知道为什么用 Nuget 打包这些文件夹时的时间差异如此之大吗?是否有任何有助于提高性能的解决方案?
谢谢
NuGet 包实际上只是引擎盖下的压缩存档,因此您获得的性能将与您看到的压缩文件的速度非常相似(NuGet 只是对存档内的结构有严格的约定) .
给定不同数量的文件,加起来总大小相同 - 所有常见的归档格式都实现了更快的压缩,并且压缩效果更好(生成的文件更小),文件更少。
如果您想深入了解底层细节,如果您想象对硬盘进行碎片整理,每个文件都将是连续的,但如果您有很多文件,它们就会到处都是。这也会增加开销。
任何针对文件的操作(在单个大文件上可能只花费一小部分时间)也可能在您处理许多文件时加起来。
总而言之,在软件开发中,不间断的操作在矮胖的土地上比在闲聊的土地上更有效,这几乎是一个真理。
我有一个设置,我们通过 Team City 将源代码打包到 nuget 包中,然后通过 Octopus 部署进行部署。打包文件夹的大小约为 267MB。仅打包这些文件,此过程大约需要 5-6 分钟。该文件夹包含 12,000 个文件和 339 个文件夹。我还有一个大约 183MB 的文件夹,其中包含 297 个文件和 24 个文件夹。这只需要大约 35 秒。知道为什么用 Nuget 打包这些文件夹时的时间差异如此之大吗?是否有任何有助于提高性能的解决方案?
谢谢
NuGet 包实际上只是引擎盖下的压缩存档,因此您获得的性能将与您看到的压缩文件的速度非常相似(NuGet 只是对存档内的结构有严格的约定) .
给定不同数量的文件,加起来总大小相同 - 所有常见的归档格式都实现了更快的压缩,并且压缩效果更好(生成的文件更小),文件更少。
如果您想深入了解底层细节,如果您想象对硬盘进行碎片整理,每个文件都将是连续的,但如果您有很多文件,它们就会到处都是。这也会增加开销。
任何针对文件的操作(在单个大文件上可能只花费一小部分时间)也可能在您处理许多文件时加起来。
总而言之,在软件开发中,不间断的操作在矮胖的土地上比在闲聊的土地上更有效,这几乎是一个真理。