すべてのLinuxシステムで、lsb_releaseがリリースに関するいくつかの情報を印刷するのに時間がかかる理由を知りたいです。
誰でもこの事実を教えてもらえますか?してください。
ベストアンサー1
数バイトを印刷するのは難しい部分ではありません。難しい部分は、どのバイトを印刷する必要があるかを見つけることです。これを行うには、lsb_release
多くのシステムファイルを分析する必要があります。システムコールを追跡すると、I / Oにかかる時間を確認できます。
strace -f -tt -T -o lsb_release.strace lsb_release
私のコンピュータでは、コマンドを実行するのに約3分の1かかります。
dpkg-query -f '${Version} ${Provides}\n' -W lsb-core lsb-cxx lsb-graphics lsb-desktop lsb-languages lsb-multimedia lsb-printing lsb-security
インストールされたパッケージのデータベースを解析します。他の重要なI / O消費者はいません。
これはPythonスクリプトなので、次のようにすることもできます。Pythonアナライザの使用時間をどこに費やすか理解してください。
python -m cProfile
消費者が費やす最大の時間は、スクリプトの初期化(かなりの数のライブラリを使用する)とサブプロセスの呼び出しに関連しているという事実が私にとってはあまり理解されていませんdpkg
。