プログラム(GUI)のロード時間をどのように測定しますか?

プログラム(GUI)のロード時間をどのように測定しますか?

私のシステムでプログラムが開くのにかかる時間を測定したいと思います。 Atomと一緒にこのユーティリティを試しましたが、timeAtomが開く前に端末に応答が印刷されます。 2〜3秒後に画面にAtomが開きました。

$ time atom

real    0m0.021s
user    0m0.021s
sys     0m0.003s

GUIが開き、ユーザー入力を準備するのにかかる時間を測定する方法についてのアイデアはありますか?

修正する:

以下のユーティリティを使用すると、xdotool次の結果が得られます。

$ atom && time while true; do xdotool search --limit 1 --name "Project — Atom" >/dev/null && break; done

real    0m0.021s
user    0m0.009s
sys     0m0.005s

ベストアンサー1

人々がこのようなことをするためにストップウォッチを使用したり、「完了」したときにいくつかのトリガーを出力するようにアプリケーションを変更したりする理由があります。

問題は「オープン」とは何ですか?ウィンドウはいつ表示されますか?アプリケーションが初期化された後?アイドル後?他にはありませんか?

同様の方法でウィンドウを検出できます。

$ atom
$ time while true; do xdotool search --limit 1 --name atom >/dev/null && break; done

--nameフィールドの「atom」を実際のウィンドウのタイトル名(正規表現)に置き換えます。ヘッダーAtomが何を使用しているのかわかりません。これはスキャン時に多くのCPUを使用でき、Waylandでは機能しません。

imagemagickで最終状態を見つけること(上記のxdotoolで使用するWIDを取得する)などの画面キャプチャを追加できますが、importegads ...開始時間が本当に長い場合は問題ありません。

おすすめ記事