更快的代码使用更少的系统资源吗?

时间:2013-05-07 10:30:56

标签: optimization

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

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

请注意:

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

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

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

2 个答案:

答案 0 :(得分:4)

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

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

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

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

答案 1 :(得分:0)

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