理想未来ってなんやねん

娘可愛い。お父さん頑張る。

Snow LeopardのSafari(64bit)上のFlash Playerは32bitで動く

64bit版のWindowsを使ったことがある方であればタイトルを見ただけで気がついていただける方もいるかと思いますが、通常64bitコードと32bitコードのプログラムとライブラリの混在はできないようになっており、Flashは32ビット版しか提供されていないため、Windowsの64bit版IEではFlashが使えないようになっています。

そのような状況のため、64bit版のWindowsを使う場合でも64bit版のIEを使わずに32bit版のIEを使う方が多いかもしれません。
(そもそも64bit版のWindowsは普及していないという話が・・・)


ところがSnow Leopardでは、Safariが64bit版であるにも関わらずFlashが動作します。

Flashも64bit化されているのかと思いアクティビティモニタを確認したところ、以下の画像のとおり『Flash Player (Safari用インターネットプラグイン)』のプロセスの種類欄には64ビットの文字は無く、32bitで動作しているようでした。

さすがはApple。なかなかやりますね。

Flashがそれだけ重要なキラーアプリケーションであるということでもあるでしょうが、ユーザー視点から考えた優しい作りとなっている点は評価できるのではないかと思います。

Windowは32bit版と64bit版は分かれており、64bit版のWindowsで32bitコードを実行することはできますが、32bit版のWindowsで64bitコードを動かすことは出来ない仕様になっています。

ところが、Mac OS Xだとカーネルが32bitにも関わらず、64bitコードが実行できるようになっています。
どちらが64bitにシームレスに移行できるかというと当然Mac OS Xの方であるということは言うまでもありません。

Windowsも3.1の時には16bitから32bitへの移行時にWin32s APIを提供し、アプリケーションの32bit化を促した経緯がありますが、本当に64bit化への移行を促すのであれば同様の仕組みが必要かもしれません。

追記

64bit版のSafariだとFlash Playerが別プロセスになっておりSafariFlash Playerの負荷を合わせて80%ほどでしたが、32bit版のSafariだと別プロセスには分かれておらず、Safariの負荷は70%ほどでした。

64bit版で別の種類のコードを混在させた状況で実行させるよりは、32bit版のSafariを使った方が軽いかもしれません。