-2

一般来说,更快的代码是否使用更少的系统资源?

如果是,我是否应该假设在 sec 中从文件系统中读取文件比在0.02sec 中查询数据库更轻(更好?)0.03

请注意:

  • 速度在这里不是问题,我只是在谈论内存等系统资源。
  • 这也是一个普遍的问题,我不是在比较文件系统和数据库。这只是一个例子。

我知道我需要在我的代码中进行不同的基准测试或分析才能找到准确的答案,但正如我上面所说,我很想知道它是否普遍正确。

我曾经在我的项目中进行速度基准测试来定义better解决方案,但是我从没想过我可能需要对内存使用进行基准测试。我做了几次,但并不严重。所以,这就是我问这个问题的原因。我希望它完全有意义。

4

2 回答 2

4

这取决于为什么代码更快。

优化速度的一种常见方法是使用大量其他资源。

在您的示例中,数据库和文件系统都使用 RAM 内存来缓存数据。数据库实际上更有可能更快,因为它使用更多的 RAM 来缓存数据。

因此,通常更快的代码使用更多的资源。

于 2013-05-07T10:36:01.187 回答
0

它讨论的话题非常广泛,更快的代码意味着什么?如果一个代码都是静态编译时绑定的,那么你自然会获得更快的速度。这就是像 C 这样的结构化编程的基线。但是,当你进入面向对象编程时,只是静态绑定不提供面向对象编程的图形。所以,您需要自然使用更多系统资源的类,对象,例如更多的 cpu 周期和内存用于运行时绑定。如果与 C 和 java 相比。是的,C 在某种程度上肯定比 java 快。如果你从 C 和 Java 运行单个 hello world 示例程序。你可以看到 C 比 java 占用更少的资源。这意味着更少的 CUP 周期和更少的内存.但在成本方面,我们可能会错过
可重用性、可维护性、可扩展性。

于 2013-05-07T11:08:50.610 回答