Spo 600週9反射

1752 ワード

こんにちは、Spo 600(ソフトウェア可搬性と最適化)ブログの週9にようこそ.今週はベンチマーキングとプロファイリングを議論します.

Cプログラムをテストする
この部分は非常に簡単なプロファイリングテストを行います.
第一はこんにちは.ファイル
#include <stdio.h>

int main() {
        printf("Hello World!\n");
}
2番目はHelloo 2です.ファイル
#include <unistd.h>

int main() {
        write(1,"Hello World!\n",13);
}
簡単なコマンドを使うことができました
time make
どのくらいの時間を取得するには、各関数やプログラムで支出している.
以下の結果を見てみましょう.

私たちが上記で見るように、時間は3つの部分に分けられました:本当の、ユーザーとsys.実時間は壁時計時間に対応し、このテストでは0.372秒である.ユーザプログラムの時間は、このプログラムがどれだけの時間を実行しているかということです.プログラムが直接私の通常のパーミッションで実行される時間です.システム時間(sys)は、このプログラムに代わってカーネルが何をしているかの時間です.ユーザー時間とシステム時間を一緒に加えると、結果は我々がこのテストのリアルタイムのために得たものに非常に近いはずです.

知っている楽しいこと
コマンドタイプ
less /proc/cpuinfo 
あなたのCPU情報を表示できます.


反射
今週はベンチマーキングとプロファイリングに取り組みました.ベンチマークとプロファイリングは、実際のプログラミングの人生で非常に便利です.それはプログラムが消費されるどのくらいの時間を識別するために明確なビューを提供し、それはプログラマがアイデアのトンから最適なソリューションをピックアップすることができます.