【问题标题】:Why is bash language often slower than python or ruby?为什么 bash 语言通常比 python 或 ruby​​ 慢?
【发布时间】:2011-11-04 06:26:18
【问题描述】:

我认为这是因为解释器的实现。 谁能给我一个更深入的答案?谢谢。

另外,我想知道 bash 是否有垃圾收集器?

【问题讨论】:

  • 虽然问这个问题肯定是有效的,但请记住,这些语言有/有不同的目标。另见SO question
  • 到底什么情况下比较慢?恕我直言,这个问题不是很明确。虽然我有预感它可能确实是真的,但一些时间数据和/或示例任务会给我们一些工作。

标签: python ruby bash interpreter


【解决方案1】:

bash 从磁盘加载大量命令。大多数其他脚本语言都有更多的内部运行指令。

例如,要在 bash 中做一个简单的计算,你可以使用 a=`expr 1 + 2` 并且 bash 将首先加载 /usr/bin/expr,运行将结果写入输出的命令,bash 收集输出( `引号)并将结果保存在变量'a'中。这确实很慢。

尽管如此,bash 的优势在于令人难以置信的灵活性。每个人可能有一套不同的强有力的“指令”。例如,我有一个名为 hex 的小工具,可以一次打印出八进制、十六进制和十进制的数字。其他语言不会像 bash 那样集成......

【讨论】:

  • Bash 也很大程度上依赖于它使用的程序。 find . -type f -print0 | parallel -0 fgrep -I -f foo.txt 之类的东西在 Bash 中会运行得很快,而在 Ruby 或 Python 中等价的东西会非常困难,而且可能不会那么快。
  • 很大程度上取决于您如何使用它。 let a=1+2 并且无需致电exprgist.github.com/bf55669850447fbe783e
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-24
  • 2011-09-18
  • 2012-11-25
  • 1970-01-01
  • 1970-01-01
  • 2011-03-03
相关资源
最近更新 更多