Adobe Alchemy登場、C/C++アプリをFlashで動作させる研究にLLVM技術採用

    後藤大地  [2008/11/21]

    Adobe Alchemy

    2008年7月、C言語で開発されたアプリケーションやPythonスクリプトがFlash Playerで動作するようになったという報告が複数のブログに掲載されていた。どうやらこの取り組みは一時的なものでも噂でもコンセプトプルーフでもなかったようだ。

    Adobe LabsにAlchemyと呼ばれるプロジェクトが登場した。噂されていた内容がそのままプロジェクトになっている。

    AlchemyはC/C++で開発されたコードをActionScript仮想マシン(AVM2)で動作するコードにコンパイルするための研究プロジェクトコード名。C/C++で開発された既存のライブラリをFlash PlayerやAdobe AIRで動作するWebアプリケーションから活用できるようにすることを目指している。Flash PlayerやAdobe AIRのポテンシャルを一気に向上させる可能性がある。

    Alchemyの仕掛けは報告されていたとおりだ。要するにAlchemyの取り組みとは、LLVMのActionScript仮想マシンバックエンドを開発することにある。LLVMのC/C++フロントエンドを使ってLLVM中間形式バイトコードを生成し、LLVMコードからActionScript仮想マシンバイトコードに変換する。すでにLLVMというプラットフォームがありC/C++フロントエンドが提供されている。あとはActionScript仮想マシンバックエンドを開発すれば完成というわけだ。

    Alchemyで対象とするのはOS処理にあまり依存していないC/C++ライブラリ。特にコーデック、データ操作、XMLパース、暗号処理、物理計算など計算能力が必要とされるケースを想定しているという。Alchemyで変換されたコードはActionScript 3.0よりもかなり高速に動作し、ネイティブC/C++コードよりは2倍から10倍遅く動作するとみられる。

    プロジェクトページで触れられている説明ではC/C++ライブラリが主要な対象のようだが、LLVMの仕組み上、ほかの言語のフロントエンドを使えばそうしたプログラミング言語もFlash PlayerやAIRで動作することになる。FlashやAIRのポテンシャルを高めるプロジェクトとして大きく注目しておきたい。

    関連記事

    関連サイト

    関連したタグ

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン