ゲームプログラミングであれば,やはり速度は重要です.
STGをつくるにあたり,今回は配列の読み込み速度を測定してみました.
JavaでHello World コレクション(List)編
こちらでとりあえずArrayListとLinkedListの場合は速度が調べられているのでそれを使うとして,今回は普通の,配列の要素数の固定されている“なんとか[添え字]”で呼び出すやつを調べてみました.
一応,こちらでもLinkedListとArrayListを調べたほうが良いのでしょうが,上のサイトのサンプルソースがエラー9個も出てコンパイルできないので(爆*1,まあ割愛,ということで.
多分メモリ速度は大して変わらんでしょう.そんなに前の記事じゃないみたいだし.
以下,ソースです.
基本的にあのソース再利用してます.
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つ*2ほど増やしてみます.
E:\***>java List 配列 かきこみ : 47 配列 読み込み : 47
うえwwww速すぎwwwww
と言うわけで,滅茶苦茶速いですね!
出来るだけ普通の配列を使いましょう(当然