我有3-5个(大型)程序,我需要合并,以便它们按顺序运行。速度很重要,因为这是(近)实时应用程序。 (如果有更好的方法,请告诉我)。
编写Bash脚本来调用这些其他程序或编写最有可能使用fork()
和/或exec()
的C程序会更有意义吗?速度和难度/时间之间的权衡取决于一个而不是另一个吗?还有其他方法我应该研究一下吗?
如果我的术语已关闭或信息不足,我道歉。另外,请纠正我,以便将来不再犯同样的错误。
答案 0 :(得分:4)
这是bash的完美用例。开销不到一毫秒,维护成本低于C程序。
答案 1 :(得分:1)
我建议编写bash脚本并对其进行调试。如果性能证明足够,那么你就完成了。期望bash
在现代系统(硬件和内核)上表现良好是合理的。
否则使用bash脚本作为编写替换C程序的规范。
答案 2 :(得分:1)
提出的问题是"这项工作的正确工具是什么的经典问题?" 。显然,作为shell的bash旨在启动应用程序,编写多个程序的启动脚本就像在单独的行中列出所需的程序以及所需的参数一样简单。但是当问题是速度问题时,你只能通过询问"速度有多快来回答问题?"
如果你现在有单独的程序,你可以串起来,他们可以在一段可接受的时间内完成工作,为什么你会考虑重写它们的速度?你问问题的事实表明,你要么(a)难以完成当前例程所需的时间,要么(b)你只想看看你能走得多快多少。我们都喜欢热棒吗?
在C语言等编译语言中重新编写数量密集的大型shell应用程序是否有速度优势 - 您打赌。很多时候百分之百,但是值得花时间重写。这只是你可以回答的事情。