BT

Mono 2.2がリニアコード生成エンジンを装備

| 作者: Abel Avram フォローする 7 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2009年1月26日. 推定読書時間: 1 分 |

今までMonoのコード生成エンジンは、コードのツリーIntermediate Representation (IR)に基づいていた。バージョン2.2は、リニアIRに基づいた新たなエンジン(リンク)を搭載しており、スピードとコードサイズの大幅な改善が実現した。

Miguel de Icaza氏によると、以前のツリーベースのIRは「コード生成の改善が困難で、意味ある方法でJITエンジンの拡張が難しい。新しいリニアIRは「レジ スタアロケーターに対するレジスタ使用率の可視性を改善するのに役立つため、コード生成時により良い選択をすることができる」。

リニアIRへの取り組みは、2005年の後半(リンク)に始まった。作業自体は進んだが、Monoチームが、それに関わる膨大な量の作業のため、新たなエンジンを2.0に組み込むことを望まなかった。2.2バージョンがリリースされた今(リンク)、Monoは新たなエンジンがある。

その変化によるもっとも重要な結果が、ベンチマーク結果(リンク)によって示されている。

スピード:エンジンは大抵、コンピュータで集約されたコードのためになる。通常10%から30%のパフォーマンスの向上が見られ、場合によっては50%も改善するケースもある。

コードサイズ:新たなエンジンが通常12%から20%スリム化されたコードを生成する。

新たなエンジンに関する詳細(リンク)に関心があれば、MonoのWebサイトを参照するとよい。2.2のリリースノート(リンク)は、パフォーマンスの伸び、コンパイル前サポート、PerformanceCountersを通じたモニタリングサポート、コードライブの添付、SIMDサポート(参考記事)など、主要な改善について述べている。

 

原文はこちらです:http://www.infoq.com/news/2009/01/Mono-2.2-Linear-IR

この記事に星をつける

おすすめ度
スタイル

こんにちは

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

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

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

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

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

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

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

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

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

ディスカッション

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


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

Follow

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

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

Like

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

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

Notifications

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

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

BT