Acanthopanaxによる
2008年06月04日 19時15分の掲載
栗鼠魚部門より。
栗鼠魚部門より。
あるAnonymous Coward 曰く、
Safariの基礎をなしているWebKitに新JavaScriptエンジンのSquirrelFishが組みこまれることにより、JavaScriptのパフォーマンスが飛躍的に向上、Safari3との比較では平均して4倍高速との結果がでているとのこと(マイコミジャーナルより)。SquirrelFishはJavaScriptを中間形式に変換し、実行時に高速実行可能なコードに変換して走らせることにより高速化を実現する。Firefox4でも同様のTamarinが組み込まれる予定で、JavaScriptはウェブアプリケーションの大黒柱として新たな段階に突入するとみられる。
実行速度は速くなるだろうが、結果として長いスクリプトが書かれ、ロード時間が延びたりしないか気になるところだ。
Surfin' Safariブログ記事“Announcing SquirrelFish”もご参考に。
関連ストーリー
横スクロールをお手軽に実現 35 コメント
この議論は賞味期限が過ぎたので、保存されている。
新たにコメントを書くことはできない。
しかし、こう立て続けに高速化技術が出てくるってのは (スコア:2, すばらしい洞察)
そうじゃなくて「JavaScriptがウェブアプリケーションの大黒柱として新たな段階に既に突入している」からこそ、こぞって開発を競ってるんだろうね。
妖精哲学の三信
「だらしねぇ」という戒めの心、「歪みねぇ」という賛美の心、「仕方ない」という許容の心
Re:しかし、こう立て続けに高速化技術が出てくるってのは (スコア:2, 参考になる)
作ろうというプロジェクトでJavaScriptエンジン作られたものだったはずです。
プロジェクト本体はぽしゃってRhinoだけが生き残ってますが…
親コメント
いっそのことJIT載せちゃおうよ (スコア:2, 参考になる)
Googleとかのアプリも快適になるだろうなあ。
しかしいままで中間形式に変換してなかったのが逆に驚きだったりして。
FlashとかのActionScript(ECMA-262拡張)はなにかやってるのかな。
個人的には最近Processing [processing.org]というJavaベースの「電子アートとビジュアルデザインのためのプログラミング言語 [wikipedia.org]」で書いたコードをJavaScript上で動かすProcessing.js [ejohn.org]というライブラリで遊んでいるので、そういう意味でも高速化は大歓迎です。
(解説はこちらがわかりやすいです→ ブラウザでお絵描きプログラミング! Processing.js 登場! [hatena.ne.jp])
Re:いっそのことJIT載せちゃおうよ (スコア:2, 参考になる)
ほんとはおっしゃるとおり、JavaAppletを使うのが正しいとは思うのですが、
・プラグインを入れないと使えない(IEではプラグインをいれないと古い仕様のVMしか入っていない)
・起動に時間がかかる
といったことから避けられている節がありますね。
そんなことから、本来実体はJavaAppletであるprocessingをわざわざJavaScript上で動かしてみたりするわけで・・・
次のJava1.7ではJavaAppletの復権を狙っているようで、起動を高速化するなどいろいろ改良していくようです(起動高速化手法は、常に常駐しておくということなのですが・・・むー)。
でも、なんだかんだいって不特定多数向けのサービスを作るには、いまはJavaScriptかFlashですよねえ。
JavaAppletがんばれ!超がんばれ!
親コメント
Re:いっそのことJIT載せちゃおうよ (スコア:2, 参考になる)
私は JIT のプロじゃないんですが、以前 Tcl が ver. 7.x から 8.x にメジャーアップデートして、バイトコードコンパイラが採用された時に、自分のコードの実行速度をかなり詳細に追いかけたことがあります。この場合、コードの動的な部分が実行される際には、その部分だけ自動的に再コンパイルされることが分かりました。だから動的なコードは、静的なものに比べて速度的なメリットは少々失われますが、LL言語の「旨味」をすっかり諦めることにはならないと思います。速度が必要な時には静的なコードに書き直してチューンアップする余地は十分にあるのですから、JITによるデメリットはとても小さいと思いますよ。
親コメント
すらどでもJavaScriptで遊んでいる (スコア:1)
例えばespyさん [slashdot.jp]の質点の運動で遊ぼうシミュレータ [espilab.ddo.jp]とか。
# それだけだけどid
/.configure;oddmake;oddmake install
高速化も良いけど (スコア:1, 参考になる)
喰っており、マシンが火を吹くように熱くなってた。
まぁ適材適所、つまりはprocessing.js全般を動かすにはまだまだ
改善が必要ってことなんでしょうけど。