我有一个我在linux shellcript中编写的脚本,显示终端信息。它以实时约.1秒和用户时间.03运行。这是一个很快的速度,但我想要添加的更多,它会将程序减慢到.4或.5秒。当它是.1时,你在击中输入和完成跑步之间没有明显的延迟。在.5有一个延迟。
所以我的问题是我能用什么语言编写它才能在基于linux的发行版上运行禁食。我一直想知道用C或C ++编写它并使用编译版本会更快。
答案 0 :(得分:3)
这是一个复杂的问题。
bash最大的性能问题是它主要是一种粘合语言。您在bash脚本中执行的许多操作都会创建全新的流程(性能大打折扣)。
C和C ++可以非常快,但是编写和额外的工作需要更多的时间来优化代码。
老实说,我怀疑Perl或Python对你来说是更好的选择。对于大多数事情来说,它们足够快,应该可以帮助您避免产生许多过程。我在python中编写它,然后在它不够快的时候对它进行分析(这将告诉你函数/子程序的调用频率和执行时间)。
答案 1 :(得分:2)
编译为本机代码的程序(如c
或c++
)将比在解释程序中运行的等效脚本运行得更快。
对于您的硬件环境中的应用程序,c++
是否最快,必须针对任何其他目标编译语言进行分析,以获得明确的答案。