![]() |
NCZOnline |
"Professional JavaScript for Web Developers"や"Professional Ajax"などの書籍の著者であるNicholas C. Zakas氏がJavaScriptの実装に関する興味深い記事をJavaScript stack overflow errorのタイトルで自身のブログにおいて公開した。Webブラウザごとのスタックオーバーフローエラーが比較検討されている。
Nicholas C. Zakas氏が調査したWebブラウザごとのコールスタックサイズは次のとおり。
Webブラウザが出力するスタックオーバーフローエラーと補足される例外の種類は次のとおり。Opera 9.62は例外を発生させずにJavaScriptの動作を停止されるため、例外は補足できないと説明がある。
確認はとれなかったと前置きしたうえで、どうやらIEとOperaは主メモリのサイズに関連してスタックサイズを変更しているようだという記述がある。それ以外のブラウザはあらかじめ定数としてコールスタックサイズが実装されているようだ。寄せられているコメントにもそれを示すようなデータが掲載されている。
JavaScriptにおける大量の再帰処理はパフォーマンスの劣化を招きやすい。またJavaScript stack overflow errorで説明されているように、コールスタックサイズの上限にあたって処理が完了しないケースが考えられる。とくにSafari 3.2のコールスタックサイズは500であり、Safari 3.2で動作するアプリケーションを実装するなら、この数値未満に収まるように実装する必要があることがわかる。Nicholas C. Zakas氏はほかにもJavaScript変数読み書きのパフォーマンス比較と高速化テクニックや全4回Speed up your JavaScriptシリーズなど、JavaScriptに関するティップスの紹介をおこなっている。
| JavaScript変数読み書きのパフォーマンス比較、高速化テクニック [2009/2/23] |
| Speed up your JavaScriptシリーズ全4回、ブラウザには止めさせない [2009/2/5] |
| トマトを食べれば痩せられる!? -京大ら、新発見の成分で肥満改善効果を実証 [21:00 2/10] |
| JAXA、液体シリコン中に残存する共有結合を観察 -大口径ウェハの実現に期待 [20:11 2/10] |
| NEDOなど、熱膨張が小さな樹脂複合材料ペレットの量産化に成功 [19:22 2/10] |
| 理研、一般顕微鏡を蛍光顕微鏡に強化できるアダプタを試作して性能を実証 [19:15 2/10] |
| 天の川のブラックホールが小惑星を飲み込んでいる - NASAが発表 [18:08 2/10] |
|
元タカラジェンヌの真琴つばさ、昼ドラで大御所・小林幸子とガチンコ対決! [11:30 2/11] エンタメ |
|
入院・手術でかかるお金は? [11:15 2/11] キャリア |
|
[長谷川潤]パンダ出産に「私もいつか…」と 映画「51」で初ナレーション [11:13 2/11] エンタメ |
|
坂本教授、木の光合成に着目した不思議な音楽的挑戦!『ETV特集』 [10:08 2/11] キャリア |
|
バロックで異端!水墨画の巨匠、雪村周継の神業に迫る! [10:07 2/11] キャリア |