Performance 沃思';这个定律仍然成立吗?

Performance 沃思';这个定律仍然成立吗?,performance,language-agnostic,Performance,Language Agnostic,1995年的一句格言: «软件的速度比硬件的速度快得多» 你认为这是真的吗 你应该如何衡量软件的“速度”?按CPU周期,或者更确切地说,按您完成某项任务所需的时间 如果新版本的软件实际上变得更快、更精简(以CPU周期和MB的RAM衡量),并且响应速度更快,比如Firefox 3.0与2.0相比,Linux 2.6与2.4相比,Ruby 1.9与1.8相比。还是比旧软件(比如谷歌)快一个数量级的全新软件?它不是否定了那条法律吗 是的,我认为这是真的 如何衡量软件的速度?解决任务的时间是一个相关的

1995年的一句格言:

«软件的速度比硬件的速度快得多»

  • 你认为这是真的吗
  • 你应该如何衡量软件的“速度”?按CPU周期,或者更确切地说,按您完成某项任务所需的时间
  • 如果新版本的软件实际上变得更快、更精简(以CPU周期和MB的RAM衡量),并且响应速度更快,比如Firefox 3.0与2.0相比,Linux 2.6与2.4相比,Ruby 1.9与1.8相比。还是比旧软件(比如谷歌)快一个数量级的全新软件?它不是否定了那条法律吗

  • 是的,我认为这是真的

    如何衡量软件的速度?解决任务的时间是一个相关的指标。作为软件用户,我不在乎我的机器中有2个还是16个内核。我希望我的操作系统能够快速启动,我的程序能够快速启动,我绝对不希望等待像打开文件这样简单的事情完成。一个软件必须感觉很快。 所以启动Windows Vista时,我没有看到快速软件

    软件/框架通常会提高其性能。这很好,但这些都是小改动。例外证明了规则:)


    在我看来,这一切都与感觉有关。而且感觉电脑在几年前就变得更快了。当然,我不能在那些旧机器上运行当前的游戏和软件。但他们只是更快而已:)

    一般来说,这条定律是正确的。正如你所说,有“证明规则”的例外情况。我哥哥最近在他的2GHz+电脑上安装了Win3.1,它一眨眼就启动了

    我想这项法律之所以成立有很多原因:

    许多程序员进入这个行业从来没有考虑过有限的速度/资源系统,所以他们从来没有真正考虑他们的代码的性能。
  • 通常情况下,为截止日期编写代码更为重要,而性能调优通常在bug修复/新特性之后进行
  • 我发现FF缺少即时启动对话框很烦人,因为启动应用程序后主窗口需要一段时间才能出现,而且我不确定单击是否有效。OO也受到这种影响

    网上有几篇文章是关于在不改变实际速度的情况下改变对软件速度的看法的

    编辑:

    除了以上几点之外,这个网站,或者更确切地说,大多数其他问答网站,对效率的重视程度较低。这个网站一直被开发为快速和响应,它显示。与其他网站相比,我发现基于phpBB的网站很灵活,但速度很慢。谷歌是另一个将速度提升到重要程度的例子(它甚至可以告诉你搜索需要多长时间)——与谷歌成立时的其他搜索引擎相比(现在,它们都很快,多亏了谷歌)


    我发现许多程序员都缺乏快速编写代码的能力,这需要大量的努力、技能和经验。

    我的机器每天都在变慢、变笨重。我把大部分的减速归因于运行防病毒软件。当我想加快速度时,我发现禁用防病毒软件会产生奇迹,尽管我像在一个破旧的妓院里一样担心。

    我认为沃思定律主要是由摩尔定律引起的——如果你的代码运行缓慢,你会忽略它,因为很快,它就会运行得很快。表现并不重要


    现在摩尔定律已经改变了方向(更多的内核而不是更快的CPU),计算机实际上并没有更快,所以我希望性能成为软件开发中更重要的因素(直到真正好的并发编程模式成为主流)。你知道,当软件仍然有用时,它的速度是有限的。

    慢软件的一个问题是大多数开发人员使用带有多核CPU和RAM负载的高端机器作为他们的主要工作站。因此,他们不容易发现性能问题

    他们日常活动的一部分应该是在预期客户机将使用的较慢的主流硬件上运行代码。这将显示真实世界的性能,并使他们能够专注于改善瓶颈。甚至在资源有限的虚拟机中运行也有助于此审查


    更快的硬件不应该成为创建慢而邋遢的代码的借口,但事实确实如此。

    这是错误的。正确的是

    软件的速度和硬件的速度一样慢

    原因是,这主要取决于人类的耐心,而耐心是不变的。
    它还忽略了30多年前的软件,即使我们忽略了赏心悦目。

    是的,它是正确的。您已经给出了一些突出的例子来反驳这一论点,但请记住,这些例子是由一个由知识渊博的人组成的大型社区开发的,他们或多或少地了解编程中的良好实践

    使用内核的人知道不同的CPU体系结构、多核问题、缓存线等。关于在主线内核中包含硬件性能计数器支持,有一个有趣的持续讨论。从“政治”的角度来看,这很有趣,因为核心人员和在绩效监控方面有丰富经验的人员之间存在冲突

    开发Firefox的人都明白浏览器应该是“轻量级”和快速的,这样才能流行。在某种程度上,他们设法做得很好

    新版本的软件应该在更快的硬件上运行,以获得相同的用户体验。但价格是否公道呢?我们如何评估功能是否以有效的方式添加

    但是回到主题上来,很多人