2009-06-16 9 views
24

DotGNUおよびMonoは同じ問題を攻撃しているように見えます。つまり、.NET CLRをフリーでオープンソースの方法でプラットフォーム間の互換性を考慮して実装しているようです。DotGNU対Mono

私は両方についてかなり読んできました。今後のプロジェクトにどの実装を使用するかを決めるのは苦労しています。私の特定のプロジェクトはSystem.Windows.Formsを必要としないので、ライブラリのグラフィカルUI部分はあまり重要ではありません。

So:2人を直接比較しようとした人はいますか?もう片方の落とし穴は何ですか? OSSコミュニティによってもう一方がサポートされていますか? :)

答えて

36

に応えるすべての人へ

おかげでまあ、モノは多くのバッキングで、私にははるかに完全なポートのように見えます。

Webサイトで判断すると、DotGNUは、実行可能な代替手段を提供することに関して、.NETを使用しないように人々に伝えることと同じように思えます。多くのリンク(「最新の変更」など)はどこにも役立たないようです。

Monoは非常に明らかに積極的に開発されており、新しいDLRをサポートし、C#3.0とLINQのサポートを実装しており、複数のプラットフォームのパッケージからインストールすることができます。私には明らかです。

+0

DotGNUのサイトも同様の印象です。それはCVSからgitに切り替わった2006年以来の最大のニュースのように見えました。 – crashmstr

+0

そして彼らがECMA規格だけに進むつもりなら、彼らはC#2.0に執着します。 –

+0

MicrosoftもMonoをサポートしているようです。 – Joshua

4

Dotgnuはジェネリックと匿名の代理人をサポートしていませんが、モノはサポートしていません。

私は、libjitの有無にかかわらず、いくつかのプラットフォームでgitソースからdotgnuを正常にコンパイルしました。私は彼らの最新のソースからモノをコンパイルするのに成功しました。

libjit(./configure --with-jit)を使用してpnetをコンパイルすると、nbodyベンチマークではdotgnuのパフォーマンスがmonoよりわずかに優れています。

ジェネリックが必要な場合は、モノラルに進んでください。それ以外の場合はdotgnuに移動します。

PS:であることが特定されています。私はしばらくそれを更新し、頻繁に新しいコミットを見ることができます。

+1

誰かが私を否定した、私はドットグヌがより速いと主張すると思います。さて、git-sourcesからコンパイルされた、提供されたモノとフレッシュなdotgnu 0.8.1を使って、64ビットUbuntu 10.04上にあるものです。 mukjaj @ mukjaj::〜/ Komod/JS $時間モノnbody.exe 10000000 -0.169075164 -0.169077842 本当\t 0m4.572s ユーザー\t 0m4.560s SYSここではコンピュータ言語のベンチマークからnbody実行した結果です\t 0m0.010s mukjaj @ mukjaj:〜/ Komod/JS $時間ilrun nbody.exe 10000000 -0.169075164 -0.169077842 本当\t 0m4.546s ユーザー\t 0m4.540s SYS \t 0m0.000s – Dmitri

+0

はい、とm onoバージョンは2.4.2.3でした。違いは大きくないが、そこにある。 – Dmitri

+0

はい、メモリ使用量はモノで35M、ドットで31Mでした。ですから、ここでもう一度dotgnuが少し良いです。しかし、やはりこれは数値的に重い計算のためのものでした。他の種類のアプリケーションでは、マイルが異なる場合があります。 – Dmitri