私はMint 19をシナモンと一緒に実行していますが、これはすべてのLinuxデスクトップ環境で共通する問題だと思います。ターミナル出力が多すぎてターミナルウィンドウにレンダリングされた印刷ステートメントのために実際にアプリケーションが遅くなるPython CLIアプリケーションがあります。愚かな質問:端末が最小化されると速度が上がります(レンダリングが不要で省略される可能性があります)。
ベストアンサー1
パフォーマンスを向上させるには、次のコマンドを実行することをお勧めします。
mycommand &>/dev/null
または
mycommand &>~/mycommand.log
別の方法も良いです:
nohup mycommand
注: これは & ですいいえアプリケーションをバックグラウンドに配置しますが、標準出力と標準エラーをリダイレクトします。
いくつかのベンチマーク:
time hexdump HURRICANE\ SMITH\ -\ DON\ T\ LET\ IT\ DIE.mp3
real 0m17,525s
time hexdump HURRICANE\ SMITH\ -\ DON\ T\ LET\ IT\ DIE.mp3 &>/dev/null
real 0m0,226s
time hexdump HURRICANE\ SMITH\ -\ DON\ T\ LET\ IT\ DIE.mp3 &>/tmp/result.txt
real 0m0,244s
time nohup hexdump HURRICANE\ SMITH\ -\ DON\ T\ LET\ IT\ DIE.mp3
real 0m0,251s
端子出力が実際の性能に与える影響?
たとえば...シェルスクリプトの中で...!
#!/bin/bash
date >/tmp/start.txt
hexdump HURRICANE\ SMITH\ -\ DON\ T\ LET\ IT\ DIE.mp3
date >/tmp/theend.txt
結果:
cat /tmp/start.txt
qua jan 9 14:49:08 -02 2019
cat /tmp/theend.txt
qua jan 9 14:49:25 -02 2019
最初の例に示すように、インタプリタは次のコマンドを実行する前にすべての出力を待ちます。これは多くの状況では悪いかもしれません。
今また来るいいえ端末に直接データを書き込む...
#!/bin/bash
date >/tmp/start.txt
hexdump HURRICANE\ SMITH\ -\ DON\ T\ LET\ IT\ DIE.mp3 >/tmp/results.txt
date >/tmp/theend.txt
結果:
cat /tmp/start.txt
qua jan 9 14:52:02 -02 2019
cat /tmp/theend.txt
qua jan 9 14:52:02 -02 2019
2 番目の例では、スクリプトがすばやく実行され、すべての出力データが /tmp/result.txt にすでに準備されています。
ウィンドウを最小化するだけでパフォーマンスの向上はほぼゼロになります。これは、アプリケーションがウィンドウを復元したときに表示されるように最小化された端末にログを記録し続けているためです。
パフォーマンスに影響を与えずにログファイルを生成せずにcomamndが返す内容を読むには、別のアプローチを試してください。
yourcommand | less