Home | Notifications | New Note | Local | Federated | Search | Logout
Note Detail
たかし@tak4 (2026-02-22 18:11:54)
jsの配列の添字は内部的に文字列なのでarray[1]の様に書くと内部的に1が文字列の"1"に変換されるらしい。効率が悪い。さすがに処理系によって最適化されて居るのかな。
---Reply---
たかし@tak4 (2026-02-23 18:24:30)
計測してみたら、array[1]とarray["1"]とでは処理速度に大きな差は無かったので、文字列への変換は気にしなくて良いらしい。
しかも次の様な関数を呼び出した場合、f(1)よりf("1")の方が10倍ほど時間がかかった(関数に文字列を渡すとコストがかかるのかな)キーの類は数値として扱ふ方が効率は良いかも。
function f(i) { return array[i]; }
Reply
---Replies---
たかし@tak4 (2026-02-23 18:30:05)
これはseamonkeyでの場合。firefoxではf(1)とf("1")の処理速度は同じで、badwolfだとf("1")は100倍遅かった。
とりあへず計測は大事だといふことを思ひ知った。