【问题标题】:What is the most limited and expensive resource in a computer? [closed]计算机中最有限和最昂贵的资源是什么? [关闭]
【发布时间】:2020-12-27 14:15:23
【问题描述】:

当今计算机中最昂贵和最有限的资源是什么?

CPU吗?也许是 内存 或者我被告知的 带宽(或完全不同的东西)?

这是否意味着计算机应该尽一切努力更有效地使用该资源, 包括增加其他资源的负载?

比如通过压缩文件,我们是不是给 CPU 增加了负载,所以文件可以传输过来 网络更快?

我想我知道这个问题的答案,但我想听听其他人的回答,请提供解释。

【问题讨论】:

  • 这个问题对于这个网站来说确实是题外话,因为它更像是一个没有单一答案的讨论。见What topics can I ask about here?
  • 那么适合讨论的地方在哪里?
  • 取决于你需要它做什么。
  • 作为人类所花费的时间是最有限和最昂贵的资源。除非并且直到您确定值得您花时间进行优化,否则不要费心进行优化。

标签: performance networking resources compression computer-science


【解决方案1】:

您遗漏了一项成本更高的资源——设计和编程。

我在这里回答了很多问题。我很少说“加强硬件”。我通常说“重新设计或重写”。

大多数硬件改进都是以百分比来衡量的。 Cleaver 的重新设计是以倍数衡量的。

复杂的算法可以用大表查找代替。 -- “速度”与“空间”。

“您的搜索返回了 8,123,456 个结果,这里是前 10 个”——您曾经从搜索引擎中看到类似的内容。现在它说“大约 8,000,000 个结果”或什至什么也没说。 -- “改变用户期望”或“摆脱瓶颈!”。

有一次我在研究为什么一个程序这么慢。我发现 2 行代码占用了 50% 的 CPU。我把这两行改写成大约 20 行,速度几乎翻了一番。这是一个如何集中精力高效使用程序员的示例。

在 SSD 之前,大型数据库严重依赖于磁盘速度。 SSD 将其缩小了 10 倍,但磁盘访问仍然是一个大问题。

计算中的许多指标都遵循摩尔定律。但是有一个碰壁 - CPU 速度。在过去的 20 年里,这一数字仅翻了一番。为了弥补它,有多个 CPU/内核/线程。但这需要更复杂的代码。大多数产品都支持 - 并且只需使用单个“cpu”。

“延迟”与“吞吐量”——这两者大多是正交的。前者测量经过的时间,受光速等限制。后者测量有多少数据——光纤比电话线“胖”得多。

【讨论】:

    猜你喜欢
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-23
    • 2020-01-21
    相关资源
    最近更新 更多