BT

サードパーティの開発者はWinRT上でJITを動かせるか

| 作者: Jeff Martin フォローする 17 人のフォロワー , 翻訳者 徳武 聡 フォローする 1 人のフォロワー 投稿日 2012年9月7日. 推定読書時間: 3 分 |

原文(投稿日:2012/09/04)へのリンク

 

MicrosoftはWinRTのプラットフォームの特徴を強化し、開発者やエンドユーザのへ導入を推し進めている。しかし、WinRTの"囲い込み"が強制する限界に関心が集まるにつれて、これらの特徴の代償が明らかになり始めた。

MozillaのBrian R. Bondy氏は3月にWindows 8のFirefoxの開発計画を発表し、"...従来のディスクトップアプリケーション、メトロアプリケーション、メトロスタイルを可能にするディスクトップブラウザ"という3つの種類のアプリケーションがあり得ることを明らかにした。"メトロスタイルを可能にするディスクトップブラウザを開発する"というMicrosoftのホワイトペーパーにはブラウザ開発者はどのようにWindows 8用のブラウザを開発するのかについて詳述している。

LuaJITの開発者であるMike Pall氏は5月にサードパーティのジャストインタイム(JIT)コンパイラは動作しないと記している

"Windows 8/ARMが許しているのは個人開発者が開発したサンドボックス上で動作するアプリケーションです。これらのアプリケーションはWinRT APIにはアクセスできますが、WIN32 APIには完全にはアクセスできません。WIN32 APIは確かにW8ARM上に存在してます。しかし、Internet Explorerとシステムプロセスだけがアクセスできます。"

この制限の影響は大きい。Pall氏はLuaJITの開発に言及しているが、ほとんどのユーザに影響があるだろう。"... [WOAでは]LuaJIT(JITモードの)も、PyPyも、Javaもv8も動作しません。これはほんの数例です。同様にこれらに依存するソフトウエア(Scala, Clojure, JRuby)もこれらが組み込まれているソフトウエアも動作しません。"しかし、"... [WOA]上のInternet Explorerのプロセスには特権が与えられており、JavaScriptを高速にするためのJITコンパイラが動作します。"これによって、IEは他のブラウザよりも高速に動作できる。

最近ではEmbarcaderoのAllen Bauer氏が同社のコンパイラにをWinRT向けのネイティブコード生成機能を追加しようとしたときの障害物について語っている

"ネイティブのDelphi & C++のコードをWinRT上でサポートできるように取り組んでいますが、現時点でのWinRTに関する問題点は、言語のRTLを実装しようとしている開発者が利用する必要のある、OSが提供するAPIの多くが、VC++ RTL DLLを使わないと利用できないということに起因しています。"

この問題に対するMicrosoftの公式的な見解は以前に公開されたSteven Sinofskyの記事だ。

"...WOAは仮想化やエミュレーションをサポートしません。既存のx86/64アプリケーションの移植や実行もサポートしません。さまざまな形態のエミュレーションをサポートするのはシステムの信頼性や予測可能性を担保するためのモダンな手法とは相容れません。また、既存のコードはWOAのプラットフォームに対して最適化されていません。仮想化されたり、エミュレートされたりするソフトウエアはバッテリーやCPUなどのシステムのリソースを許容できないくらい消費してしまいます。" [強調は引用者]

さらに事態を複雑にしているのはMicrosoftの資料の矛盾だ。前述のブラウザ開発がイドには“メトロスタイルを可能にするディスクトップブラウザ”はJITコンパイルが利用できる、と書いてある。このような状況では、WinRT上で既定の作り方でないJITベースのブラウザがどのような動きをするのか解らない。

業界全体を見れば、AppleのiOSをターゲットに開発するとき、開発者は開発上の制限を予想するようになったという歴史的な経緯がある。違いはMicrosoftが既存のディスクトップブラウザ開発コミュニティからサポートを得ようとしていることだ。歴史的に見れば、これらの開発者はこのような制限に慣れている。

 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

最後の段落の翻訳が正しくありません。 by Yamaguchi tetsuya

下記部分の翻訳が正しくないかと思われます。

The difference here is that Microsoft is attempting to obtain the support of their existing desktop-based developer community, and historically these developers are not used to these types of limitations.

違いはMicrosoftが既存のデスクトップアプリケーションの開発者コミュニティに対してサポートを得ようと試みているが、これらの開発者は歴史的に見てこのような制限に慣れていないことである。

どうでしょうか、ご確認下さい。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

1 ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT