InfoQ

News

CurlのパフォーマンスはFlex 3に勝るか?

作者 Moxie Zhang, 翻訳者 金森 諭 投稿日 2008年6月15日 午後8時20分

コミュニティ
Java
トピック
RIA
タグ
Flex

Curl, Inc.はRIAの最前線での立場を宣言する一番最近の発表で、Curl Rich Internet Application(RIA)プラットフォームのVersion 6.0とAdobe Flex 3のベンチマークテスト(source)でCurl言語の方がActionScript 3(Adobe Flash Playerランタイムのプログラミング言語)より8倍から10倍良いパフォーマンス結果を出したという。

Curl, Inc.はこの3ヶ月、ディベロッパが複雑でウェブベースのビジネスアプリケーションのクラスを設計するのに助けとなることを目的とした一連のRIA技術をリリースしてきた。これらのRIA技術にはオープンソースのウェブサービス開発キット(source)やUbuntuのサポート(source)、Mac向けのCurl実行環境(source)などが含まれている。そのため今回のテスト結果は、パフォーマンス性能の高いミッションクリティカルなRIAを構築する生産性の高い方法を探しているディベロッパにとって特に重要なことだ。

テストについてのCurlの発表ではこう述べられている。

このテストの結果からCurlは実行スピードにおいて相当優位で、これは2つのプラットフォームのプログラミング言語の大きな違いに起因すると考えられます。Curl言語は高効率なコードへコンパイルするように設計されていますが、AdobeのActionscriptはそうではありません。最終的にエンタープライズRIAを構築する上でもCurlはパフォーマンスで勝ることになります。

Curlの技術は、特にクライアントサイドにおいて、Flashベースの技術と似た環境で動く。デスクトップアプリケーションで使うにはランタイムエンジンが、ブラウザベースのアプリケーションにはプラグインが必要だ。Curl, Inc.の副社長兼チーフアーキテクトであるBert Halstead氏はこう説明する。「Curlは強力で高パフォーマンスの言語およびプラットフォームとして設計され、並ぶもののない性能は私たちの誇りとするところです。今回のテストの結果は私たちの主張を裏づけるものですし、エンタープライズRIAでのCurlの優位性をさらに立証するため調査を進めていきます。」 

しかしFlexのテクニカル・エバンジェリストであるAdobeのTed Patrick氏は今回のテスト結果に異議を唱えている(source)

これは一見したところかなり印象的です。なんといってもActionScriptより8倍も速いのですからね!しかしよく見れば、今回のテスト結果はほとんど見当違いといえるものです。まず気が付くのは、このベンチマークがJPG画像のエンコーディングについてだということです。JPG画像の描画やアップロードでもなく、各ピクセルを処理して別の画像タイプに変換するというベンチマークなのです。

Patrick氏によるとJPGのエンコーディングだけでは全てを語れるわけではない。

Flex フレームワークでは画像変換をサポートしていますが、それは全く主要機能ではありません。Flash Playerは実行中に直接画像処理できるようになっていて、Flash Player内のどんなオブジェクトからもネイティブオブジェクトとしての画像を作り出すことができます。これらをJPGにエンコードする必要は全くありません。また、そのスピードも軽く速いものです。実際規模が大きくなるとCurlの結果のどれよりも速い結果が出ています。

またPatrick氏はこう意見を述べる。

Flash Playerに対抗した他の実行環境ベンチマークを目にしますが、それらは無意味なパフォーマンスについてのもので、レンダリング性能やクラスプラットフォーム性や互換性を考慮したものではありません。ディベロッパは高速な言語を使いたいと考えますが、実際には一番互換性を保ってインストールされている言語が最終的に勝利を収めるのです。JavaScriptとActionScriptが急速に採用されたのは、それらが広く使われているからです。画像エンコーディングの最速記録を出したからではありません。.

今回のテスト結果に関わる論争にも関わらず、Curlは明らかにRIAの舞台で強豪となろうとしている。Intelligent Enterprise誌のNelson King氏はこう書いている。「CurlはMicrosoft SilverlightやAdobe Flash/AIRで作られたアプリケーションにも張り合えるアプリケーションを生み出す。特にエンタープライズアプリケーションにおいては。」そして、 Curlがデスクトップ製品をリリース時にはComputer World誌のNitro氏とHeather Havenstein氏はこうレポートしている。「CurlはオフラインのRIAの分野を拡大しようとする一番新しいベンダだ。同様の技術には Google Inc.(source)のGoogle Gears(source)技術やMozilla Corp.(source)のPrismソフトウェア(source)やAdobe Systems Inc.(source)のAdobe Integrated Runtime(AIR)(source)がある。」

InfoQは今後のRIA技術の競争がどう進んでいくか念入りに見ていくつもりだ。

原文はこちらです:         http://www.infoq.com/news/2008/06/curl-benchmark-outperform-flex3

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

ジャンル別一覧

クラウドコンピューティング ~ EC2、Mosso、GoGrid

クラウドコンピューティングのプロバイダーであるEC2、Mosso、GoGridの新しいユーザーエクスペリエンスと、それぞれの機能の違いについて学びます。

仮想化入門

このArticleでは仮想化に関する利点と欠点を見ながら、仮想化の違いについて詳しく追っていきます。

Java 6のスレッド最適化は実際に動作しているのか? - パートII

パート2では、ベンチマークの結果を検証するために用いられるテクニックについてさらに深く見ていきたいと思います。最後に、「なぜプロセッサが異なるとロックのコストも大きく異なるのか」と言う真の疑問に答えます。

RESTアンチパターン

本稿では、Stefan Tilkov氏が「RESTful」な設計であると主張するアプリケーションに見受けられる最も一般的なアンチパターンのいくつかについて説明し、それらを避けるための方法を提案しています。

モデル駆動ソフトウェア開発のためのベストプラクティス

Sven Efftinge氏、Peter Friese氏とJan Köhnlein氏が、MDDを取り入れて成功した経験から、ベストプラクティスの解説を行います。

スケーラビリティの構築とパフォーマンスの達成:バーチャルパネル

Our panel of leading experts explores some of the challenges and thought processes that go into making their apps as scalable and performant as possible.

Spring 2.5:Spring MVCの新機能

この記事は、Spring 2.5で導入されたアノテーションを探究する3部作の第2弾です。Web層におけるアノテーションのサポートを扱います。最後の論文では、統合と検査で利用できる追加機能を説明する予定です。

"YUKATA"から始まるコミュニケーション(Agile2008 ライトニングトークより)

私は「浴衣」を着てパーティーに参加したことで、たくさん声を掛けていただけました。 そこで感じたことは、このカンファレンスが人との繋がりを生み出し、また言葉の壁を越えて積極的に交流する場所であることです。民族衣装はそれらを助けてくれるものでした。きっとこの交流が、新たなムーブメントをアジア圏の仲間たちにも与えてくれると確信しています。