Optimization 关于早熟优化的另一个问题

Optimization 关于早熟优化的另一个问题,optimization,performance,Optimization,Performance,克努特说: 我们应该忘记小效率,比如说97%的时间:过早优化是万恶之源 我很好奇他是怎么得到97%的选票的。有人能分享一下吗 更新:问题是:这句话写在一篇研究论文中,为什么主观陈述会在这样的正式文件中被接受?我不认为它是一个确切的数字。“几乎所有时间都是这样。”我不相信这是一个确切的数字。“几乎所有时间都是这样。”80%的统计数据都是在现场完成的,包括这一项 我想你会发现这是一个正确的想法。80%的统计数据都是在现场制作的,包括这一个 我想你会发现这是一个正确的想法。我不认为这是字面意思。在某些

克努特说: 我们应该忘记小效率,比如说97%的时间:过早优化是万恶之源

我很好奇他是怎么得到97%的选票的。有人能分享一下吗


更新:问题是:这句话写在一篇研究论文中,为什么主观陈述会在这样的正式文件中被接受?

我不认为它是一个确切的数字。“几乎所有时间都是这样。”

我不相信这是一个确切的数字。“几乎所有时间都是这样。”

80%的统计数据都是在现场完成的,包括这一项


我想你会发现这是一个正确的想法。

80%的统计数据都是在现场制作的,包括这一个


我想你会发现这是一个正确的想法。

我不认为这是字面意思。在某些情况和环境中,优化是最重要的(因此97%而不是99%),但是对于大多数编写大多数软件的程序员来说,大多数时间优化应该只在必要时进行,经过适当的分析。

我不认为这是字面意思。在某些情况和环境中,优化是最重要的(因此97%而不是说99%),但对于编写大部分软件的大多数程序员来说,大部分时间——优化应该只在必要时,在正确分析之后进行。

回答这部分问题:

这句话写在一篇研究报告中 纸,为什么是主观陈述 在这样的正式文件中被接受

如果研究符合相关学科中“研究”的规范,研究就会发表。例如:

  • 实验物理和化学需要可再现的结果。如果结果不可复制,这是对研究人员的一个黑色标记

  • 医学需要有统计意义的研究结果。大样本量的双盲研究是理想的,但这类研究通常过于昂贵,或者由于伦理原因而不可能进行

  • 数学家需要证据。你最好不要犯错误

  • 哲学家喜欢一个好的论据……”我想努夫说过他们

除了数学之外,几乎所有的研究论文都会有一定程度的主观性。但这并不一定会让它们变得糟糕。主观陈述本身只是一个问题,如果读者容易将其误解为客观的

计算机科学和软件工程学科的论文尤其容易产生一定程度的主观性。我认为这是不可避免的,因为在许多CS/SE领域,要做能够让人做出完全客观陈述的实验是非常困难的(昂贵的)。例如,您如何衡量过早优化(而不是其他)是否导致了问题?或者更具体地说,您如何客观地衡量单片内核是否优于微内核

关于Knuth的报价(我假设):

我们应该忘记小问题 效率,比如说大约97%的 时间:过早优化是关键 万恶之源

这是主观的,但克努斯显然没有在这里假装客观。相反,他以一种特别精辟和令人难忘的方式给出了一些建议。在我看来,这是一种让研究论文读起来很有趣的东西


记录在案的是,97%的有经验的软件开发人员都赞同Knuth的观点。(我刚才编造了:-)回答这部分问题:

这句话写在一篇研究报告中 纸,为什么是主观陈述 在这样的正式文件中被接受

如果研究符合相关学科中“研究”的规范,研究就会发表。例如:

  • 实验物理和化学需要可再现的结果。如果结果不可复制,这是对研究人员的一个黑色标记

  • 医学需要有统计意义的研究结果。大样本量的双盲研究是理想的,但这类研究通常过于昂贵,或者由于伦理原因而不可能进行

  • 数学家需要证据。你最好不要犯错误

  • 哲学家喜欢一个好的论据……”我想努夫说过他们

除了数学之外,几乎所有的研究论文都会有一定程度的主观性。但这并不一定会让它们变得糟糕。主观陈述本身只是一个问题,如果读者容易将其误解为客观的

计算机科学和软件工程学科的论文尤其容易产生一定程度的主观性。我认为这是不可避免的,因为在许多CS/SE领域,要做能够让人做出完全客观陈述的实验是非常困难的(昂贵的)。例如,您如何衡量过早优化(而不是其他)是否导致了问题?或者更具体地说,您如何客观地衡量单片内核是否优于微内核

关于Knuth的报价(我假设):

我们应该忘记小问题 效率,比如说大约97%的 时间:过早优化是关键 万恶之源

这是主观的,但克努斯显然没有在这里假装客观。相反,他以一种特别精辟和令人难忘的方式给出了一些建议。在我看来,这是一种让研究论文读起来很有趣的东西

记录在案的是,97%的有经验的软战玩家都认同克努特的观点