命令行实用程序可以比C++更快吗?

use*_*171 5 c++ bash grep sed

我有一个项目,我想操纵某些输出文件.

这可以使用grep和sed的组合以及带有|的管道来实现

或者,我也可以编写一个C++程序来做同样的事情.

对于哪种方法会更快,是否有一个确凿的答案,因为grep和sed应该已经相当好地优化了?

Fli*_*mzy 7

从技术角度来看,一个编写良好的自包含C++程序可以完成所需的一切,比使用与管道互连的两个(或更多)shell命令更快,因为没有IPC开销,它们可以是定制的 - 根据您的确切需求进行优化和优化.

但除非你正在编写一个多年来全天候运行的程序,否则你将永远不会注意到足够的收益值得付出努力.

并且预优化的标准规则适用于......

  • 这甚至假设你知道grep和sed的开发人员使用的所有算法和优化技巧 (3认同)

Ton*_*ion 4

如果我是你,请使用已经存在的东西,因为它们可能已经存在很长时间并且已经过测试和尝试。自己编写一个新程序来完成同样的事情似乎是重新发明轮子式的操作,并且很容易出错。