ゲームプログラミングであれば,やはり速度は重要です.
STGをつくるにあたり,今回は配列の読み込み速度を測定してみました.
JavaでHello World コレクション(List)編
こちらでとりあえずArrayListとLinkedListの場合は速度が調べられているのでそれを使うとして,今回は普通の,配列の要素数の固定されている“なんとか[添え字]”で呼び出すやつを調べてみました.
一応,こちらでもLinkedListとArrayListを調べたほうが良いのでしょうが,上のサイトのサンプルソースがエラー9個も出てコンパイルできないので(爆,まあ割愛,ということで.
多分メモリ速度は大して変わらんでしょう.そんなに前の記事じゃないみたいだし.
以下,ソースです.
基本的にあのソース再利用してます.
import java.util.*;
public class List {
public static void main(String[] args) {
try {
long start, end;
int[] Matrix = new int[100000];
int tmp;
/** かきこみ **/
start = System.currentTimeMillis();
for (int i=1;i<100000;i++) {
Matrix[i] = i;
}
end = System.currentTimeMillis();
System.out.println("配列 かきこみ : " + (end - start));
/** よみこみ **/
// 配列
start = System.currentTimeMillis();
for (int i=1;i<100000;i++) {
tmp = Matrix[i];
}
end = System.currentTimeMillis();
System.out.println("配列 よみこみ : " + (end - start));
} catch (Exception e) {
e.printStackTrace();
}
}
}
で,実行してみます.
E:\***>java List
配列 かきこみ : 0
配列 読み込み : 0
はやっ!測定不能みたいです.
仕方ないので0の数を2つほど増やしてみます.
E:\***>java List
配列 かきこみ : 47
配列 読み込み : 47
うえwwww速すぎwwwww
と言うわけで,滅茶苦茶速いですね!
出来るだけ普通の配列を使いましょう(当然