Tuesday, August 30, 2011

なぜMobile SafariのJavascript エンジンが速くて、UIWebViewのJavaScriptエンジンは速くないの?

iOS 4.3のアップデートの中に、Mobile SafariにNitroというJavaScript エンジンが搭載されて、パフォーマンスが著しく改善されました。しかし、UIWebViewを使うとき、その効果を感じていない開発者が多くいると思います。

結果的に、John Gruberさん(Daring Fireball, @gruber)さんが非常に素晴らしい分析をしてくれいました。翻訳するのが大変ので、要点を抽出して、ここにリストします。英語が大丈夫な方は元の文書を読んでもらえれば一番良いと思います。

  • Mobile Safari for iOS 4.3+がJavaScriptのJIT技術を搭載している[JIT@en.Wikipedia] [JIT@ja.Wikipedia]
  • JITがメモリ上のMemory pagesを実行可能にすることが必要
  • iOSでSandboxがMemory pagesを実行可能にすることが禁じている
  • Mobile Safari for iOS 4.3+ がシステムの特別処理を受けていて, Memory pagesが実行可能になっている
  • その特別処理は超大変(3年ぐらい掛かった)


それこそ、JITの技術を勉強しましょうか。Mobile Safariがもっとモバイルブラウザの市場シェアがさらに上がっていますよね〜。

No comments:

Post a Comment