Haskell、C++、AWK、Bash、Lisp...哪一个更快?

Haskell、C++、AWK、Bash、Lisp...哪一个更快?

我想知道,这些编程语言中哪一种在处理大数据文件方面速度更快字符串:

Haskell, C++(Boost), AWK, Bash, Lisp... 

到目前为止我已经找到了这篇论文Haskell vs. Ada vs. C++ vs. Awk vs. ...。然而,这篇论文有点过时了。

答案1

由于“处理大数据文件”没有提供有关您想要执行的操作的更多信息,因此我猜测是一些简单的数据处理。

Bash shell 脚本本身通常非常慢,但出于文本处理目的,结合 grep、sed、awk、cut、sort、uniq、wc 等 cli 工具可能正是您所需要的。在许多情况下,这是解决您的问题最快的解决方案,特别是如果它是您需要的一次性实用程序。有关此方法的更多信息,请参阅 [1]

如果您需要在现有项目中处理大数据文件,我建议不要用不同的语言重写它 [2]

如果您需要编写一个工具来处理这些文件,并且没有任何限制,那么 C++ 程序将能够生成最快的代码。但“速度”也归结为开发速度,正如我上面提到的,与您运行程序的速度有关。

1:http://www.commandlinefu.com/

2:http://onstartups.com/tabid/3339/bid/2596/Why-You-Should-Almost-Never-Rewrite-Your-Software.aspx

相关内容