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]", "[COMMAND]", "[HERE]")
ruby
`[SHELL COMMAND HERE]`
system("[SHELL COMMAND HERE]")
PHP
shell_exec ( "SHELL COMMAND HERE" )
シェルでサブプロセスを生成すると、プログラムのパフォーマンスがどの程度低下しますか?たとえば、私はperlとlibcurlを使用してスクリプトを作成していましたが、libcurlのすべてのパラメーターを使用して、スクリプトを機能させるのは困難でした。libcurlの使用をやめて使い始めたところcurl
、パフォーマンスが向上し、スクリプトがはるかに簡単になり、さらに、基本的なperl(cpanモジュールなし)と基本的なシェルユーティリティのみがインストールされているシステムでスクリプトを実行できました。
このサブシェルを生成することが悪いプログラミング手法と見なされるのはなぜですか?常に理論的には、言語内で特定のバインディング/同等のライブラリを使用するよりもはるかに遅いはずですか?