今更の処理スピード js

木曜日, 2010/04/29 13:54 pm Illustrator, InDesign, Photoshop

昔、ジャバスクリプトでの処理スピードが、記述の仕方でどの位違うのか、測ってみた事がある。
その時は、配列の最後に値を追加するテストだった。

array[ count++ ] = value;
array[ array.length ] = value;
array.push( value );

の3種類での比較で、カウントを取っている 1 番目が一番速かった。

今回の実験は

//test-1
for ( var i = 0; i < count; i++ ){
	var s = obj.textRanges[ 0 ].characterAttributes.size;
}//test-2
var ca = obj.textRanges[ 0 ].characterAttributes;
for ( var i = 0; i < count; i++ ){
	 var s = ca.size;
}

なんとこれで 2.5 倍の違いが出る。(書き込みでは僅差だがやはりtest-2)

考えてみれば当たり前か。
test-1 では、文字サイズに行き着くまで、オブジェクト>テキストレンジの何番>アトリビュート と3 段階の手間が掛かっているが、test-2 の cs がアトリビュートを指しているので、サイズまで速い訳だ。

ループ内では、目的地に近いオブジェクトを示す参照オブジェクトを用意しよう。

Tags:

Search

 

Contribution

2017年3月
« 9月    
 1234
567891011
12131415161718
19202122232425
262728293031  

Archive

Please donate 寄付を!