php – 从脚本语言中调用shell命令会降低性能吗?
编写
python,perl,ruby或php时
我经常会用…… PERL: `[SHELL COMMAND HERE]` system("[SHELL]","[COMMAND]","[HERE]") Python import os os.system("[SHELL COMMAND HERE]") from subprocess import call call("[SHELL]","[HERE]") ruby `[SHELL COMMAND HERE]` system("[SHELL COMMAND HERE]") PHP shell_exec ( "SHELL COMMAND HERE" ) 在shell中生成子进程多少会降低程序的性能? 为什么产生这个子shell被认为是错误的编程习惯?从理论上讲,它应该比在语言中使用特定的绑定/等效库慢得多吗?
执行shell命令的第一个原因是可维护性.任务之间的上下文切换很糟糕,没有语言切换.安全性也是一个考虑因素,但编码实践会降低安全性(避免注射,……)
有几个因素会影响绩效: >分叉一个进程:这需要一段时间,但是如果正在执行的代码运行良好,这就变得不那么重要了. 当外部命令在循环中执行时,会出现大多数这些问题.可能很容易找到这些都不成问题的例子. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |