代码之家  ›  专栏  ›  技术社区  ›  x__dos

建造需要很长时间。如何与之抗争?

  •  5
  • x__dos  · 技术社区  · 15 年前

    说到编译语言(在我的例子中是C语言),我认为无论开发机器的性能如何,问题总是存在的。构建时间可能或多或少取决于具体的环境,但通常它足以让你的注意力从你的任务转移到诸如stackoverflow、youtube、twitter等其他东西上,这非常烦人。

    我对Java开发人员感到高兴,因为Java的动态类加载,但是.NET(和其他)开发人员能做些什么来减少构建过程的痛苦和突兀呢?

    7 回复  |  直到 15 年前
        1
  •  1
  •   Dan J    15 年前

    你问题中关于注意力偏离任务的评论使我想起 this Joel on Software post.

    因此,投资于固态磁盘(因为我假设您在开发和调试时正在讨论开发盒上的构建过程)可能会有所帮助。

    此外,让你的电脑更快一般不会受伤,对吧?:)

        2
  •  8
  •   Craig Stuntz    15 年前

    我们使用多个构建配置在速度和全面构建之间进行权衡。

    完整的构建需要花费大量时间,比如fx-cop分析、ASP.NET编译、所有单元测试项目、实体框架视图预生成等。

    “快速构建”通常只需要几秒钟,而这些时间是使项目运行所需的最短时间。

    开发人员根据需要在整个工作流中在完整构建和快速构建之间切换。

        3
  •  4
  •   Femaref    15 年前

    类文件不是也必须被构建吗?这会不会只是将工作负载放到运行时而不是编译时?这不是真正的区别,不是吗?当然,软件越大,构建它所需的时间越长,这取决于机器,而不是语言或框架——这是对诸如强类型、解释的字节代码(或取决于语言/编译器的二进制代码)而不是每次运行时解释的源代码(如使用php和python等)的权衡。我不认为Java改进了很多东西,你需要在应用程序中建立一个时间表。

    与C和C++相比,C和Java在编译时间方面都有很大的提高。

    用时间放松一下:

    source

    只是把工作负载放到运行时,而不是编译时?这不是真正的区别,不是吗?当然,软件越大,构建它所需的时间越长,这取决于机器,而不是语言或框架——这是对诸如强类型、解释的字节代码(或取决于语言/编译器的二进制代码)而不是每次运行时解释的源代码(如使用php和python等)的权衡。我不认为Java改进了很多东西,你必须建立一个应用程序的时间框架。

    与C和C++相比,C和Java在编译时都有很大的改进。

    只需利用时间放松一下:

    Compiling

    source

        4
  •  3
  •   Nathan Rivera    15 年前

    一些尝试:

    1. 对包含源代码的驱动器进行碎片整理

    2. 从病毒扫描程序中排除源代码文件夹

    3. 从Windows搜索索引器中排除源代码文件夹

    4. 禁用不使用的任何Visual Studio扩展

        5
  •  1
  •   Community Mohan Dere    9 年前

    除了获得更快的计算机、从解决方案中删除不必要的项目等许多其他建议外,还可以考虑使用Visual Studio 2010+多核计算机。在进行构建时,VS2010可以利用所有核心。退房 this thread 关于如何设置的更多信息。

        6
  •  1
  •   jgauffin    15 年前

    你是每次都在重建,还是所有的东西都在同一个集合中?我正在处理相当大的项目,我的构建时间也不高。我有几个程序集,每次对项目进行更改时只修改几个。

    如果您发现自己在各处修改程序集,那么您可能会尝试重构代码结构。或者你没有花时间做单元测试?它们不仅可以帮助您进行测试,而且可以获得更好的代码结构(很难用糟糕的设计测试应用程序)。

    另一种选择是使用加速构建的工具,例如: http://www.xoreax.com/

        7
  •  1
  •   Jay    15 年前

    我曾在一些非常大的C项目上工作过,很少看到调试构建时间超过2分钟。

    通常会浪费时间的是静态分析(例如fxcop)、单元测试、代码签名(如果使用代码签名服务)等。控制这些内容的最简单方法是限制它们发布生成,或者为“完整生成”定义单独的生成定义,并从调试和发布生成中排除这些步骤。

    如果这些不是您的问题,请像其他人所说的那样查看您的计算机性能。碎片、慢构建磁盘、防病毒等。

    推荐文章