C 或 shell 脚本哪个更快?为什么?

C 或 shell 脚本哪个更快?为什么?

我正在寻找关于 C 或 shell 脚本哪个运行速度更快的详细信息(如果可能的话一些统计数据)。我也想知道答案的原因。

PS这不是哪个更好的问题,我知道什么时候使用C,什么时候使用shell脚本,但我只是想更多地了解它们的速度和性能比较。

答案1

这取决于。浏览此网站(查找带有负分的帖子),您会看到一些示例可怕shell 脚本,执行诸如一次一行读取文件,然后将每一行回显到可以处理整个文件的程序中之类的操作。这样的脚本自然会运行得很慢。

但是,如果有一个现有的程序(或一小组程序)可以完全满足您的要求,并且没有太多负担,那么您可能可以非常快地编写一个脚本,该脚本的运行速度比您可以编写的任何 C 程序都快,而无需认真的开发努力。为了使一些 GNU/Linux 程序变得非常高效,我们投入了大量的时间和精力。例如,在某些情况下,GNUgrep不需要查看其输入的每个字符。节目会吗写得那么聪明吗?

强制xkcd:

        自动化:实际上,持续的开发时间超过了任务自动化节省的时间

答案2

Shell 是解释性的,就其本身而言,这意味着它不能像专门编码的应用程序一样快 — 前提是执行由同样有能力的程序员编写。

更重要的是,答案取决于您如何计算时间:您应该计算开发时间以及脚本的执行时间。

相关内容