【问题标题】:How to quantify your "slow" development machine?如何量化你的“慢”开发机器?
【发布时间】:2010-03-24 16:21:23
【问题描述】:

(请提供这个重复的问题。我很失望我找不到它。)

我的开发机器“慢”。我等待它“很多”。

决策者曾向我提出要求,他们希望帮助公平、准确地衡量该时间。您如何量化您在计算机上等待的时间(编译期间、每天等待应用程序打开等)。

是否有软件可以有效地报告这类事情?是否有一个操作系统指标(I/O 某事、页面文件交换频率等)可以很好地捕获和传达这一点?你会推荐我测试的某种基准?

编辑:我正在编写 C#(主要是 ASP.NET)。

【问题讨论】:

  • 人力资源部。我喜欢这个:stackoverflow.com/questions/154159/…
  • 买这件 T 恤穿上去上班,然后和你的同事们来一场剑术比赛:store.xkcd.com/xkcd/#Compiling
  • 它当然很大程度上取决于语言
  • 我已经考虑编写一个程序来尝试跟踪这一点。您可以设置性能监视器来监视特定进程是否具有 X 数量的 cpu - 但这不考虑您在 Y 程序打开时坐着的时间。这样的应用程序必须检测挂起的窗口等。最后,我只是大致估算了等待的时间,并根据我的薪水计算出投资回报率。

标签: performance reporting measurement


【解决方案1】:

这里有一个指标可能会给一些高层留下深刻印象:衡量构建您的应用程序所需的平均时间,以及您每天这样做的次数。例如,我们最终每天构建约 100 个,每个构建时间为 60 秒。 现在,在可能更快的机器上测量平均构建时间(比如每次构建 30 秒)。

此时您可以看到拥有“更快”的机器将为您节省多少时间。每个开发人员,每天。乘以开发人员的数量,以及一个月中的天数,您可以看到这与向团队中添加另一个开发人员有何不同。 是的,我知道,在向团队添加更多人时还有其他考虑因素,但这会给你一个粗略的比较,“高层”可以与之相关。例如:如果我们都有更快的机器,我们将花费更少的时间在构建上,相当于增加一名开发人员。

另一方面,您应该提供对每个人的机器升级成本的良好估算。

现在,如果可以的话,您应该对多台“更快”的机器进行此类比较,以确定它们的相对性能,并可能区分您面临的瓶颈(RAM、CPU 还是 I/O?)。

最后,我个人的看法是,虽然这种过程和与利益相关者的以下讨论会发生(可能需要一段时间),但您可以让每个人都拥有更大/更多的监视器。这是一个相对便宜的升级(当然,如果你选择 52 英寸 LCD 显示器,就不会那么便宜,对吧?)而且更多的显示器空间确实提高了生产力(提示:也提高了员工的士气,这反过来又提高了生产力)。

HTH

【讨论】:

  • 重新显示器:高分辨率 30" 显示器在编写代码时物有所值。我使用 30" 主显示器和 20" 辅助显示器。
  • 上次我在一个 17" 屏幕上必须使用 1GB 内存。我笑了!上一次使用如此糟糕的机器是在 2002 年左右。
【解决方案2】:

关闭 FireFox 以获得一些内存。添加内存。对我帮助很大。

【讨论】:

    【解决方案3】:

    取决于您的工作环境。例如。在 Visual Studio (C++, 2005) 中,您可以进行定时构建,这样 IDE 会在常规构建输出之后打印经过的时间。

    【讨论】:

      【解决方案4】:

      当您没有任何东西可以衡量/比较时,量化是很困难的。如果您的 dev-box 需要 12 分钟来编译一个包含 100,000 行代码的项目,而没有任何其他 dev-box 来衡量,那么您不知道这是好是坏。也许 12 分钟 100,000 行实际上是好的?

      衡量它不会帮助您,当然也不会帮助您的决策者。考虑; “是的,老板,编译我们的项目平均需要十二分钟。”老板说; “好吧,这正常吗?”你不知道。

      计算机硬件很便宜。查看开发盒并考虑要求决策者投入一些资金以提高其性能。如果您平均每天编译 5 次,并且每次编译平均需要 12 分钟,那么每天都会浪费一个小时 - 每周总共浪费 5 个小时。一些 RAM 或 CPU 升级的成本非常值得。

      【讨论】:

      • 可能两个最有效的升级是更多 RAM 和/或 SSD 硬盘。
      • 老板:“这正常吗?” - 自动回答:“不,它很慢!”
      【解决方案5】:

      对我来说,一台缓慢的机器不会像意外减速那样降低生产力——如果机器每次按 F5 时都在 12 分钟内编译整个解决方案,那么解决方案有问题,而不是机器。除此之外,12分钟我没有问题,我可以起床休息一下。当您知道并可以控制休息时间时,休息一下实际上是件好事。

      我发现最大的生产力杀手是这些协作软件,它们可以随意开始扫描病毒(或安装更新) - 不得不坐在那里等待是一种痛苦。

      【讨论】:

      • (我假设 12 分钟来自帖子,大约需要 12 分钟来编译 100,000 行)我同意你所说的几乎所有内容,除了“如果机器每次在 12 分钟内编译整个解决方案按 F5 时,解决方案有问题,不是机器。”这里有太多变数,无法简单地将其归咎于“解决方案”。而且我不同意大型程序总是糟糕的。
      猜你喜欢
      • 2010-12-08
      • 2012-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-11
      相关资源
      最近更新 更多