• 検索結果がありません。

コンピュータプラクティ スⅠ 性能評価

N/A
N/A
Protected

Academic year: 2021

シェア "コンピュータプラクティ スⅠ 性能評価"

Copied!
31
0
0

読み込み中.... (全文を見る)

全文

(1)

コンピュータプラクティ スⅠ

性能評価

水野嘉明

(2)

本日の内容

性能評価

応答時間と実行時間、起動時間の測

実験レポート R2

実験1: 応答時間の測定 (前回実 施)

実験2: ツールの応答時間

実験3: 起動時間の測定

課題: バッチファイルのコマンド 2

(3)

プログラム実行の仕組み

(1)

ソースファイルは、コンパイル&

リンクされて実行可能な形式とな

オブジェク

トファイル ファイルソース

ファイル実行可能

ライブラリ

リン

ライブラリ

一度に行うことができる 3

(4)

プログラム実行の仕組み

(2)

プログラムは、メモリに読み込ま れて(ロードされて)から実行さ れる

OS

プログラ実行可能

補助記憶装置

( ディスク)

4

(5)

プログラム実行の仕組み

(

)

ネットワーク経由でロードされる こともある

サー

ネットワー

OS

プログラ実行可能

5

(6)

プログラムの実行時間

プログラムのロードには時間を要す

「起動時間」

「実行時間」は、実行開始から終了 まで

両者の合計が「応答時間」

起動時間 + 実行時間 = 応答時間

6

(7)

応答時間の測定

7

(8)

応答時間の測定

前回の実験 1 は、応答時間を測定し

8

起動時間 + 実行時間 = 応答時間

(9)

応答時間の測定

前回の実験 1 は、応答時間を測定し second.exe

FOR /L %%I IN (1,1,10000) DO L06Y01.EXE >NUL

second.exe

(1) 開始時刻 (秒単位の時刻表示)

(2) 測定対象 (L06Y01.EXE) を繰返し 実行

(3) 終了時刻

9

(10)

応答時間の測定

実験1にて、このバッチで測定した 時間(終了時刻ー開始時刻)は、

測定時間 = second.exe の応答時

+ L06Y01.EXE の応答時間 (前頁の例では N×N

=10000 )10

(11)

応答時間の測定

前記の式を変形すると、

L06Y01 の応答時間 =

(測定時間 - second の応答時 間)/ N

N が十分大きければ

L06Y01 の応答時間≒測定時間/ N

11

(12)

問題

Nがいくつくらいならば「十分大 きい」と言えるのか?

10,000? 100,000? 1,000,00 0? ・・・

「十分大きい」と言うための条件 は?

求めたい有効数字桁数による

⇒ 有効桁以下にしか影響 しなければOK

12

(13)

実験2

second.exe の応答時間を測定せ

有効桁数は2桁とする

得られた結果から、前回の実験 1 の結果についても考察せよ

13

(14)

実験2

ヒント

実験1と同様のバッチファイル にて測定する

L06Y01.EXE ではなく second.e xe を計測する

TIME コマンドによる計測は不要 second.exe にて second.exe を

計測 14

(15)

実行時間の測定

15

(16)

実行時間の測定

次は、実行時間を測定する

起動時間 + 実行時間 = 応答時間

16

(17)

実行時間の測定

起動時間を除いた「実行時間」を 測定するには

起動時間 + 実行時間 = 応答時間

プログラム中の測定対象コードを

time() 関数ではさみ、ラップを計

測する

17

(18)

実行時間の測定

対象コードを ti me() 関数ではさ み、開始時刻と 終了時刻を求め

必要に応じて繰 り返す

int main(void) { :

time(&t0);

time(&t1);

lap = t1 – t0;

} :

for(i=0; i<N; i++){

// 対象コード }

18

(19)

実行時間の測定

対象コードは、関数呼び出しとする

対象プログラムの main() を、適 当な名前に置き換える

測定用プログラムに埋め込み、繰 り返し呼び出す

19

水野のサイトの「【付録】実行時間

測定ツール (measuer.cpp) 」を

参照

(20)

演習

次ページの簡単なプログラムの実行 時間を、有効数字2桁まで測定せよ

20

(21)

演習

簡単なプログラム

#include <stdio.h>

#include <time.h>

void main() {

int c=0, i;

for(i=1; i<=1000000;

i=i+1) {

c = c + 1;

}

}

21

(22)

起動時間の測定

22

(23)

起動時間の測定

応答時間、実行時間は、ともに誤差 を含む測定値である。

演算による精度の変化に注意する 必要がある

起動時間 = 応答時間 - 実行時間

23

(24)

演算による精度の変化

(

復 習)

例) 1 . 2 × 10ー2 – 3 . 4 × 10-3

1 . 2 × 10ー2

-) 0 . 34 × 10ー2 0 . 9 × 10ー2

有効数字の桁数に注意すること

誤差範囲は広がっている

24

(25)

実験3

前回のプログラム(付録A = L06Y0 1 )の 起動時間を測定せよ

有効数字2桁

ヒント

応答時間と実行時間から求める

必要な有効数字を得られるように

、繰り返し回数を調整する

25

(26)

課題

プログラムの応答時間や実行時間 を測定する方法には、他にどのよ うな方法があるか調べよ

それらの方法の特徴や長所・短所 等について、考察せよ

26

(27)

実験レポート

前回の実験1、本日の 実験2、

実験3、課題を 実験レポートR 2として提出せよ

表題は「時間の測定と性能評 価」

レポートの形式は、前回のスラ イド資料を参照

27

(28)

実験のねらい

以下のような実験の狙いに注意し て、レポートを書くこと

実験1

測定ツールの精度の差が、実験 にどのような影響を与えるか

28

(29)

実験のねらい

実験2

測定ツール( second.exe ) の 応答時間は、実験1の測定にど のような影響があったか (な かったか)

実験3

実行時間を測定する

応答時間、実行時間、起動時間

の関係を理解する 29

(30)

実験を開始して下さ い

30

(31)

次回の予定

「比較実験」

二つのプログラムの比較

パラメータを変化させての比較

お疲れ様でした

31

参照

関連したドキュメント

常時 測定 ※1 可能な状態において常に測定 ※1 することを意味しており,点 検時等の測定 ※1 不能な期間を除く。.

(既設計器の測定値)が上昇したのち、時間遅れを伴って格納容器ガス管理設 備で測定する水素濃度及び Kr85

・性能評価試験における生活排水の流入パターンでのピーク流入は 250L が 59L/min (お風呂の

第2章 環境影響評価の実施手順等 第1

廃棄物の排出量 A 社会 交通量(工事車両) B [ 評価基準 ]GR ツールにて算出 ( 一部、定性的に評価 )

据付確認 ※1 装置の据付位置を確認する。 実施計画のとおりである こと。. 性能 性能校正

「8.1.4.2 評価の結果 (1) 工事の施行中 ア 建設機械の稼働に伴う排出ガス」に示す式を 用いた(p.136 参照)。.

予測の対象時点は、陸上競技(マラソン)の競技期間中とした。陸上競技(マラソン)の競 技予定は、 「9.2.1 大気等 (2) 予測 2)