【问题标题】:Nuget Pack slow performanceNuget Pack 性能缓慢
【发布时间】:2015-09-14 19:25:13
【问题描述】:

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

谢谢

【问题讨论】:

  • 基本上对大量较小文件的操作比相反的要慢。只需比较复制一个目录和另一个目录。

标签: performance nuget pack octopus-deploy teamcity-9.0


【解决方案1】:

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

考虑到不同数量的文件,加起来总大小相同 - 所有常见的归档格式都可以实现更快的压缩,并以更少的文件实现更好的压缩(生成的文件更小)。

如果您想深入了解底层细节,如果您想对硬盘进行碎片整理,则每个文件都会连续排列,但如果您有很多文件,它们就会到处都是。这也增加了开销。

在处理多个文件时,任何每个文件的操作(在单个大文件上可能只花费一小部分时间)也可能累加起来。

总而言之,在软件开发中,不间断的操作在大块土地上更有效,而不是在喧闹的土地上,这几乎是一种真实主义。

【讨论】:

    猜你喜欢
    • 2010-10-14
    • 2015-01-27
    • 2021-06-04
    • 2016-11-09
    • 2021-06-21
    • 2012-05-11
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多