スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[OSコマンド] Windows 7上でアプリケーションの実行時間を測定する

Windows 7上で、アプリケーションの実行時間を測定したい。

● 失敗

timeitコマンドを試したが..
http://www.atmarkit.co.jp/fwin2k/win2ktips/422timecmd/timecmd.html

私の環境では、以下のメッセージが出て動かなかった。
----------------------------- (begin) ---------------------------------------
Unable to query system performance data (c0000004)
------------------------------ (end) ----------------------------------------

● 成功?

Cygwinの timeコマンドを使用した。
少なくとも、実時間(real)はまともな数値が出た。

必要なファイルは以下の2つだった。
----------------------------- (begin) ---------------------------------------
C:\cygwin\bin\cygwin1.dll
C:\cygwin\bin\time.exe
  → gtime.exeにリネームして使用した(Windowsのtimeコマンドと紛らわしいので)
------------------------------ (end) ----------------------------------------
Cygwinがインストールされている別のマシンから、この2つだけコピーして使用した。

● WindowsとUbuntuで表示フォーマットを統一する

Windowsのコマンドプロンプトで、Cygwinのtimeコマンドを実行すると、GNUフォーマットで表示された。
----------------------------- (begin) ---------------------------------------
>gtime notepad
0.00user 0.03system 0:01.15elapsed 2%CPU (0avgtext+0avgdata 270848maxresident)k
0inputs+0outputs (1175major+0minor)pagefaults 0swaps
------------------------------ (end) ----------------------------------------

一方、Ubuntuの端末で timeコマンドを実行すると、POSIXフォーマットで表示された。
----------------------------- (begin) ---------------------------------------
$ time ls > /dev/null

real  0m0.003s
user  0m0.010s
sys   0m0.000s
------------------------------ (end) ----------------------------------------

WindowsとUbuntuで表示フォーマットが異なるので比較しづらい。
表示フォーマットを合わせるため、以下を試した。

(1) POSIXフォーマットに統一

Windows側で「-p」オプションをつけてtimeコマンドを起動。
----------------------------- (begin) ---------------------------------------
>gtime -p notepad
real 1.07
user 0.01
sys 0.00
------------------------------ (end) ----------------------------------------

(2) GNUフォーマットに統一

Ubuntu側で「/usr/bin/time」をフルパスで起動(GNUバージョンのtimeコマンドが動く)。
----------------------------- (begin) ---------------------------------------
$ /usr/bin/time ls > /dev/null
0.01user 0.00system 0:00.00elapsed 500%CPU (0avgtext+0avgdata 4176maxresident)k
0inputs+0outputs (0major+323minor)pagefaults 0swaps
------------------------------ (end) ----------------------------------------
VMware Player上で試したら、500%CPUと表示されたけど、これ何?

●timeコマンドの出力の意味を調べるには

Linuxで「man time」

スポンサーサイト
プロフィール

カネダック

Author:カネダック
 
普通のC++プログラマですが、業務で流体解析をやっていて格子職人と呼ばれています。
J.S.バッハ等、古楽をピリオド楽器による演奏で聴くのが好き。
リュート演奏にあこがれつつ、クラシックギターを弾きます。

保有資格
・中小企業診断士
・Oracle Master 8 Platinum(今のGold相当)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。