スポンサーサイト

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

Javaのステップカウンタ比較

 Javaのステップ数を数えようと、いくつかツールを使ってみたが、1つの命令を複数行に分けて書くと2ステップとしてカウントされてしまったり、「}」だけで1ステップとカウントされたり、思うような結果にならない。

 なので、少しは意図した値に近いものを探そうと、いくつか試した結果をまとめ。
 結論としては、「かぞえチャオ」の設定を変更したものが、一番、意図した結果に近い集計値を得られたが、ifや連鎖的呼び出しなどには対応できないので、結構誤差ありそう。
(有効行でのカウントではなく、構文解析してカウントするツールないかなぁ・・・)



■測定1 (ごく単純なコードの計測)


package count;

public class Sample1 {
 public static void main(String[] args) {
  int i=1;
 }
}

ツール総ステップ数(合計行)実ステップ数(有効行)
かぞえチャオ! Ver1.6.1
(デフォルト)
76
かぞえチャオ! Ver1.6.1
(マルチステート *1)
72
コロ助 Ver3.3.175
Amateras StepCounter 2.0.076


*1 設定で、「マルチステートメントカウント時、行区切りコードを無視する」を有効にした場合
( 「;」を元にカウントするようになる)




■測定2 (1行に複数ステップ書いた場合)


package count;

public class Sample2 {
 public static void main(String[] args) {
  int i=0; i++; System.out.println("i="+i);
 }
}

ツール総ステップ数(合計行)実ステップ数(有効行)
かぞえチャオ! Ver1.6.1
(デフォルト)
76
かぞえチャオ! Ver1.6.1
(マルチステート *1)
74 ★
コロ助 Ver3.3.175
Amateras StepCounter 2.0.076





■測定3 (2行分割とif文)


package count;
public class Sample3 {
 public static void main(String[] args) {
  int size = 3;
  if(size > 2){ //if文
   System.out.println("size=" + //2行に分割
     size);
  }
 }
}

ツール総ステップ数(合計行)実ステップ数(有効行)
かぞえチャオ! Ver1.6.1
(デフォルト)
1010
かぞえチャオ! Ver1.6.1
(マルチステート *1)
103
コロ助 Ver3.3.1109
Amateras StepCounter 2.0.01010





■測定4 (連鎖的呼び出し)

package count;
public class Sample4 {
 public static void main(String[] args) {
  StringBuilder sb = new StringBuilder();
  sb.append("a").append("b").append("!!"); //連鎖的呼び出し
 }
}

ツール総ステップ数(合計行)実ステップ数(有効行)
かぞえチャオ! Ver1.6.1
(デフォルト)
77
かぞえチャオ! Ver1.6.1
(マルチステート *1)
73
コロ助 Ver3.3.176
Amateras StepCounter 2.0.077


スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

管理者にだけ表示を許可する

検索フォーム
プロフィール

takuan93

Author:takuan93
本ブログの説明書→「ReadMe」

管理者に連絡

カテゴリ
WiX (5)
Ant (1)
フリーエリア
最新記事
カウンター
カレンダー
03 | 2018/04 | 05
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 - - - - -
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。