2012-02-27 13 views
1

ここでは、どのファイルでもCRC16を計算する関数を作成しました。私はこの機能とプログラムをC言語で作った。私のCプログラムのCPU使用量とメモリ使用量を表示したい

ここで私のCRC16計算機能のCPU使用量とメモリ使用量を調べたいと思います。

私は約topコマンドについて知っています。ここで私は他のタブでこの事を見る時間がなくなり、これを使うのはユーザーフレンドリーではありません。

リンクが1つ見つかりましたが、これについてもっと詳しく知りません。

link

これらの事を行うと、私に結果を与える任意の関数はありますか?

私がこの物を見つけるのを助けてください。

+0

'time'と'/usr/bin/time'を試してください。 –

+0

@KerrekSBしかし、どうすれば使えますか? – user1089679

+0

プログラムが 'prog'の場合、' time prog'として実行してください。 –

答えて

1

詳細はman 2 getrusageと入力してください。

ru_idrssは、メモリ使用に必要なものです。より新しいバージョンのLinuxカーネルには記入する必要があります。または、procpsを使用して/ procディレクトリから情報を取得することもできます。計算の前と後のru_utimeの差があなたのCPU時間を与えるだろう

この問題の詳細があります:How to get memory usage at run time in c++?

0

を使用すると、x86またはx64上での公演やワーク好き嫌いであれば、あなたはvalgrindを試すことができますし、そのcallgrindツールだけでなく、より正確な(しかし、把握するのが難しい)cachegrindあなたは簡単にパフォーマンスデータをvisializeするビジュアルツールkcachegrindを使用することができます

valgrind --tool=cachegrind ./a.out 
valgrind --tool=callgrind ./a.out 

注:

ディストリビューションのパッケージマネージャを介して、それをインストールした後、それは単にの問題です。私はvalgrindのためのウィキペディアの記事にリンクしています。なぜならそれはサクシンントであり、かなり完成しているからです。 The official Valgrind website is here

私は通常、このツールを使用してホットループのパフォーマンスを数桁向上させます。

1

上記の回答に加えて、あなたもpmapmmapoprpfileと、linuxtoolsで見つかった私の個人的な好み、perfを、使用することができます。それが役に立てば幸い。

+0

しかし、どうすれば使えますか? – user1089679

関連する問題