BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Mono:スタンダードを超えて

Mono:スタンダードを超えて

ブックマーク

Mono 2.2から始め、Jonathan PryorのMono.Optionsライブラリがランタイムでシップされることになる。ライブラリ自体は、それほど注目に値するわけではない。特に多く のコマンドラインアプリケーションを記述する人にとっては、確かに便利であるが、ただそれだけではない。

それ以上を意味する。つまり、Monoはスタンダードを超えている。Monoはもはや巻き返しをしているだけでなく、多くの分野でCLRを追い越そうとし ている。そして、オープンソースプロジェクトとしてMicrosoftよりはるかに高速なクリップで、新たなライブラリを付け加えることができる。すべて を自分でビルドしようとするのではなく、Mono.Options(リンク)やコレクションライブラリC5(リンク)のような成熟したプロジェクトを選択し、それらをスタン ダードリリースに組み込む。

12月のMono 2.2のリリースで発表されたもっとも目覚しい機能拡張の1つは、SIMDに対するサポート(リンク)である。SIMDは一連のCPUコマンドであり、ベクトルの操 作を大幅に高速化することができる。文字列の各エレメントの操作を順繰りに実行する代わりに、SIMD操作を使用して16のエレメントまでのベクトルを実 行することができる。サポート済みのタイプは、以下のとおりである。

  • Mono.Simd.Vector16b - 16 unsigned bytes
  • Mono.Simd.Vector16sb - 16 signed bytes
  • Mono.Simd.Vector2d - 2 doubles
  • Mono.Simd.Vector2l - 2 signed 64-bit longs
  • Mono.Simd.Vector2ul - 2 unsigned 64-bit longs
  • Mono.Simd.Vector4f - 4 floats
  • Mono.Simd.Vector4i - 4 signed 32-bit ints
  • Mono.Simd.Vector4ui - 4 unsigned 32-bit ints
  • Mono.Simd.Vector8s - 8 signed 16-bit shorts
  • Mono.Simd.Vector8us - 8 unsigned 16-bit shorts

パフォーマンスの改善は著しい。Spring-Gravityアルゴリズムを使用すると、ネイティブC++プログラムは実行に9.5秒かかる。比較とし て、Monoへのリテラル変換には悲しくも17.7秒かかる。しかし、スタンダードオペレーションからSIMD機能に切り替えると、Monoを実行するた めの時間は1.7秒まで減少する。

そこで、人びとはMonoで何を計画しているのだろうか?Windows、XBox 360やiPhone向けのゲームを作成する。Channel 9のPDC 2008のビデオ(リンク)で詳細を確認することができる。

 

原文はこちらです:http://www.infoq.com/news/2008/11/Mono-SMID

この記事に星をつける

おすすめ度
スタイル

BT