08/12/30 15:23:47
>>758
URLリンク(www.mono-project.com)
このページに要約とリリースノートがあるよ。
761:デフォルトの名無しさん
08/12/31 05:23:20
てかGNOMEのもの必要としすぎ
762:デフォルトの名無しさん
09/01/01 04:08:20
>>761
Mono は glib しか必要としてないはずだけど。
Winforms は Cairo を使っているけど、ソースに内包してるから
改めてインスコしとく必要はないよ。
763:デフォルトの名無しさん
09/01/01 18:37:58
.NETがすでにインストールされてるWindowsにMONOを入れたらどっちで走るの?
764:デフォルトの名無しさん
09/01/01 18:50:00
.NET Framework
765:デフォルトの名無しさん
09/01/01 19:26:22
試してみたいけどPC一台しかもってないから面倒なことになりそうだな
766:デフォルトの名無しさん
09/01/01 21:37:01
コマンドプロンプトで、monoへパスが通ってるところで、
mono hogehoge.exe
で実行したら、monoで走る。それ以外は純正.NETで走る。
767:759
09/01/01 21:42:19
自己解決。/xsp/ScriptResource.axdが404になってるのが分かり、数時間悩んだ末
/usr/lib/xsp/test/web.config
をVWDの出力したものに置き換えたら普通に動いた。
プロジェクト一式をディレクトリを掘った奥に置いただけだったからだめだったのね。
768:デフォルトの名無しさん
09/01/06 13:03:58
Mono on Android
URLリンク(tirania.org)
URLリンク(www.koushikdutta.com)
769:デフォルトの名無しさん
09/01/13 07:49:20
>>762
公式で転がってる各種のtoolをいれた時の話
必要とされまくってるよ
770:デフォルトの名無しさん
09/01/13 07:50:52
あとcairoってGNOME関係なくね
771:デフォルトの名無しさん
09/01/13 07:59:55
てか別に意地になるような話でもことでもないけどさ
入れればいいだけだし
ただなんとなく気分で書いた
glibとかcairoとかgtkに必要なものぐらいはどうせokだけど
なんか何が必要なのか分からないからとりあいず
公式においてあるもので必要になりそうなものだけ入れとくかと思ったら
GNOMEができあがっていらっとしただけの話でした失礼しました
772:デフォルトの名無しさん
09/01/14 01:30:36
Cell B.E.に特化したMONOってありませんの?
773:デフォルトの名無しさん
09/01/14 11:01:51
IBM が乗り気になればできるんじゃない?
774:デフォルトの名無しさん
09/01/14 23:53:37
>>772バカは死ねよ
775:デフォルトの名無しさん
09/01/15 00:29:39
2.2出たみたいだね
776:デフォルトの名無しさん
09/01/19 00:51:15
Mono Projectは1月13日、.NET Frameworkのオープンソース実装「Mono 2.2」をリリースした。
プロジェクトのサイトよりソースとバイナリパッケージをダウンロードできる。
最新版では、バグ修正のほか、いくつかの機能強化を行った。ランタイムでは、コード生成エ
ンジンとして新たに「Linear IL」を採用。これまでのツリーベース表示と比べ、高度な最適化が
可能になるという。このほか性能面では、「Generic sharing」を強化したほか、JITでSIMD命令
セットをサポートした。モニタリングでは、最新のGUIツール「mperfmon」により、システムのパ
フォーマンスを監視できるようになった。
C#レベルでは、「Mono.CSharp.Evaluator」を利用してC#コンパイラをアプリケーションに組み
込めるようになった。また、インタラクティブシェル「csharp」コマンドが追加されたほか、GUI
バージョン「gsharp」もツールパッケージに含まれているという。
コード分析ツール「Gendarme」は、新しいフィルタリングオプションやルールが追加された。
既存ルールの修正や強化も行ったという。
URLリンク(sourceforge.jp)
777:デフォルトの名無しさん
09/01/22 02:51:13
2.2がでても盛り上がりなしか・・・
778:デフォルトの名無しさん
09/01/22 02:56:22
俺は見守ってる
779:デフォルトの名無しさん
09/01/22 10:53:26
俺も見守る
780:デフォルトの名無しさん
09/01/22 11:21:22
俺は看取ることにしよう
781:デフォルトの名無しさん
09/01/25 13:38:51
FreeBSD Mono とかいうメーリングリストが始まったらしい件
782:デフォルトの名無しさん
09/01/25 14:36:19
Monoの為だけにopenSUSEにしちまった
783:デフォルトの名無しさん
09/01/25 14:50:53
>>782
俺漏れも
784:デフォルトの名無しさん
09/01/27 05:49:37
このプロジェクトが存続するとマイクロソフトにとっては厄介なことになりそうだな
.NETを捨てる時にユーザーが付いてきてくれなくなったらどうするんだろ
MONOも変えさせるんだろか
785:デフォルトの名無しさん
09/01/27 09:23:16
それは杞憂といいます
786:デフォルトの名無しさん
09/01/27 21:16:08
仮にMSが.NETを捨てて新しものを作ったとする.
その新しいものが.NETよりもずっと魅力的ならデベロッパーもユーザーも
付いていくし,今度はそれの互換環境を他OS向けに開発しようという奴が出るだろう.
魅力的でなければまぁ誰も移行しなくて終了.それだけじゃね?
787:デフォルトの名無しさん
09/01/28 02:42:06
.NETはOSのAPI的な意味合いが強いから、そう簡単には捨てないだろ。
それよりも、.NET使ったアプリは結構な割合でWin32も一緒に使ってる。
Win32自体がまだ捨て去られていないほうが問題だ。
788:デフォルトの名無しさん
09/01/28 16:24:15
.netで、ユーザーモードのデバイスドライバを開発できるようになってほしいな。
上手くmonoが追従すれば、LinuxでもWindowsでも同一バイナリのドライバでデバイスが使えるようになる。
でも、そこまで抽象化するのも難しいのかねえ
789:デフォルトの名無しさん
09/01/28 22:46:18
昔のPDCの資料では、UMDFでC#でドライバ書けるとなっていた。
しかし途中からそういう話はなくなった。
790:デフォルトの名無しさん
09/01/29 00:36:54
WPFは実装しないのかなあ
WinFormsに比べたら移植性は高そうだけど
791:デフォルトの名無しさん
09/01/29 00:53:55
WPFは普及度的に後回しだろうな
792:デフォルトの名無しさん
09/01/29 01:12:14
Win 7と VS 10 + .NET 4.0 で弾みがつくかもしれないけど
まだまだだしな > WPF
793:デフォルトの名無しさん
09/01/29 22:46:11
始まる前に終わる
794:デフォルトの名無しさん
09/01/30 00:59:11
URLリンク(www.atmarkit.co.jp)
> iPhoneでC#アプリが審査に通るワケ
Windows でも AOT でネイティブ EXE 作れるの?
795:デフォルトの名無しさん
09/01/31 01:28:39
GnomeはどのぐらいMonoになってるの?
796:デフォルトの名無しさん
09/01/31 13:03:54
ぜんぜん
797:デフォルトの名無しさん
09/02/02 07:31:19
ubuntu 8.10 serverで使ってるんですが、CreateDirectoryの類が使えないのはなぜ?
798:797
09/02/02 07:32:54
例外も出ないんですが、処理が実行されててもディレクトリが作成されていません。
799:デフォルトの名無しさん
09/02/02 09:35:54
他のlinuxでもそう?
800:デフォルトの名無しさん
09/02/02 09:36:01
勘違いでした。
別のディレクトリを見てました。
801:デフォルトの名無しさん
09/02/02 12:00:41
w
802:デフォルトの名無しさん
09/02/02 15:11:32
なんつー間の抜けたスレ
803:デフォルトの名無しさん
09/02/02 22:00:59
所詮2chレベル
804:デフォルトの名無しさん
09/02/03 01:04:40
Monoの話じゃないのだけれど、java swingのプログラムをlinuxで動かしたら
ホームディレクトリに
~/C:\windows\temp\hoge.tmp というファイルが出来て笑ったことがある。
805:デフォルトの名無しさん
09/02/03 01:08:35
決め打ちかよw
806:デフォルトの名無しさん
09/02/03 12:34:12
使い捨てのコードとか、利用者が自分だけだというコードではよくやるよなー
807:デフォルトの名無しさん
09/02/03 13:02:41
何も考えずに、カレントディレクトリとかにすればいいのに。
808:デフォルトの名無しさん
09/02/03 13:16:34
>>807
Vistaだとカレント(プログラムのあるディレクトリ)に書こうとすると変なことろに飛ばされるじゃん。
809:デフォルトの名無しさん
09/02/03 13:18:11
あちこちのファイルし操作してるとカレントに頼れないからな
書き込めない場会も多いし
810:デフォルトの名無しさん
09/02/03 23:56:42
確かに環境変数とかってなんも設定されてないな。/tmp決め打ちでいいかと。
811:デフォルトの名無しさん
09/02/04 00:44:13
そしてWindowsユーザーが「勝手にtmpとかディレクトリ掘られててわろた」
とかスレたてするんですね。
812:デフォルトの名無しさん
09/02/04 01:00:31
mono製のクロスプラットフォームで動くアプリを数本書いてるが、
何箇所かはEnvironment.OSVersionのPlatformIDで分岐させてるよ。
813:デフォルトの名無しさん
09/02/04 01:05:55
tempのフォルダ取得ぐらい、.NETなら標準で用意されてるじゃねーか。
それどころかtempファイルまで作ってくれるわ。
814:デフォルトの名無しさん
09/02/04 01:48:35
そもそもWindowsでもTEMPとTMPの環境変数はデフォルトでセットされてる。
815:デフォルトの名無しさん
09/02/04 18:55:10
IronPythonはMonoで動きますか?
816:デフォルトの名無しさん
09/02/04 19:08:14
IronPython1.0は動く。
IronPython2.0は今のところ未対応。
F#はばっちり動くよ
817:デフォルトの名無しさん
09/02/08 22:47:44
消しゴムの(MONO)を使って、東方を描いてみました。
初めての試みなので、ちょっと雑な部分もあるかも知れませんが^-^;
URLリンク(page6.auctions.yahoo.co.jp)
URLリンク(page9.auctions.yahoo.co.jp)
URLリンク(page2.auctions.yahoo.co.jp)
URLリンク(page.auctions.yahoo.co.jp)
818:デフォルトの名無しさん
09/02/08 23:27:46
サラしageは他の板でやってくれ
819:デフォルトの名無しさん
09/02/12 22:10:44
以下のコードのRun()の実行時間が型によって全然違うんだが仕様?
環境はUbuntu上でMonoのバージョンは2.2
VC#でもコンパイルしてみたが,intもlongもあまり差は無かった
class hoge{
static void Main(){
Run(new int[10000]);
Run(new long[10000]);
}
static void Run<T>(T[] a){
Stopwatch sw=Stopwatch.StartNew();
for(int i=0;i<100;i++)
Array.Reverse(a);
sw.Stop();
Console.WriteLine("{0}: {1} s",typeof(T),sw.Elapsed.TotalSeconds);
}
}
実行結果
System.Int32: 0.0096311 s
System.Int64: 2.4027608 s
820:デフォルトの名無しさん
09/02/12 22:48:21
そりゃx86上じゃ64bit整数はそのままじゃ扱えないからな
821:デフォルトの名無しさん
09/02/12 23:17:13
MONOの最適化はちょっと甘いことがある。
822:デフォルトの名無しさん
09/02/13 00:30:42
>>819
CPU何使ってんの?
Core2とかだったらVC#は64bitレジスタを使用している可能性がある。
Monoだと32bitレジスタ2つ使って対応していると思うけど、
それにしても遅すぎだな。
その環境の最高性能を引き出すようにコンパイルされないと
マネージコードの魅力が半減しちゃうな。
ちなみに、手元の環境だとこんな感じ。
System.Int32: 0.005742 s
System.Int64: 0.9745676 s
少し差が縮まってるw
823:デフォルトの名無しさん
09/02/13 00:44:58
64bitモードじゃないと64bitレジスタは使えない件について
824:デフォルトの名無しさん
09/02/13 00:47:17
Run(new long[10000]);
Run(new int[10000]);
の順で実行したらどうなるの?
825:デフォルトの名無しさん
09/02/13 00:55:03
Windows Vista Ultimate 32bit Q6600
System.Int32: 0.0009932 s
System.Int64: 0.0031525 s
int と long の実行順序を逆にしても変わらん
826:デフォルトの名無しさん
09/02/13 00:58:17
>>825の環境で object も試してみた
System.Int32: 0.0009384 s
System.Int64: 0.0032696 s
System.Object: 0.0066534 s
構造体って速いんだね
827:デフォルトの名無しさん
09/02/13 01:25:13
誰か64bit環境でやってみて
828:デフォルトの名無しさん
09/02/13 01:46:36
>>819の Run を Int32 と Int64 でそれぞれ5回ずつ走らせて平均を取った。
x86
Int32: 0.00093284 s
Int64: 0.00314952 s
x64
Int32: 0.00096868 s
Int64: 0.00118714 s
any
Int32: 0.00097392 s
Int64: 0.00118982 s
829:デフォルトの名無しさん
09/02/13 02:00:35
なるほど
あとintだけ配列の要素数を2倍にするとどうなる?
830:819
09/02/13 02:06:17
>>822
CPUはCore Solo U1300(1.06GHz)だから、
64bitレジスタはないはず。
他の型の場合についても試してみたらこんな結果になった。
Monoはintとdoubleが速くて、それ以外が一様に遅い。
VC#は32bit以下と64bitで分かれてる。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
Array.Reverseの内部でboxingされてるとかいう理由な気がしてきた。
Monoではintとdoubleだけは例外的に最適化されたりするのかも。
実際にstatic void MyReverse<T>(T[] a)とか実装して走らせてみたら、
だいたいVC#の2倍くらいの実行時間になった。
831:デフォルトの名無しさん
09/02/13 02:07:10
>>823
そんなことない。レジスタサイズプリフィックス(?)をつければ
普通に使えるだろ。
64bitモードに移行すれば、プリフィックスがいらなくなる分
早くなるとかはある。
むかし、MS-DOSで386の32bitレジスタを使って高速化のテクとか
色々あったことを思い出した。
832:デフォルトの名無しさん
09/02/13 02:09:59
>>831
残念ながらそんなことあるんだな。64bitが可能なのはlong modeという特殊なモードだべ。
833:デフォルトの名無しさん
09/02/13 02:18:51
>>832
あぅ、確かに64bitモードはかなり厳格になっている...
嘘ついてごめんちゃい
834:デフォルトの名無しさん
09/02/13 02:23:01
>>828ってVC#の結果?
835:819
09/02/13 02:33:51
>>824
変わらなかった。
>>829
実行時間は単純に2倍になった。
参考になるかわからんが、Mono 1.2.6でも似たような結果だった。
(というより、元々は1.2.6を使っていて、こういう結果が出たから2.2に更新した)
836:デフォルトの名無しさん
09/02/13 02:42:46
>>835
なるほど
サンクス
837:デフォルトの名無しさん
09/02/13 03:07:49
こんだけ単純なコードなら吐き出したCIL見比べた方が早いんじゃない?
838:デフォルトの名無しさん
09/02/13 03:30:55
ところがぎっちょん。
cscでコンパイルしたのをmonoで動かしても
gmcsでコンパイルしたのをmsclrで動かしても同じ結果なのです。
839:デフォルトの名無しさん
09/02/13 04:59:31
// fsc -O test9f.fs / fscp -O test9f.fs
#light
open System.Diagnostics
let rec reverse cnt ar =
if cnt > 0 then (Array.rev ar |> reverse (cnt - 1)) else ar
let Run ar =
let sw = Stopwatch.StartNew() in
let rt = reverse 100 ar in
sw.Stop(); printfn "%A" sw.Elapsed; rt
let _ =
printfn "%A" (Run [| 0..10000 |]);
printfn "%A" (Run [| 0L..10000L |]);;
840:デフォルトの名無しさん
09/02/13 05:00:39
F# (on mono 2.2)でやってみると
配列をコピーするのでその分時間がかかっているが、int64は結構速い。
00:00:00.0112015 (int32
00:00:00.0134897 (int64
>>819 の結果はこれ
System.Int32: 00:00:00.0050849 s
System.Int64: 00:00:01.3990044 s
841:819
09/02/13 13:27:13
>>837
ILは知識が無くてわからないけど、
>>838の言うような結果になった。
gmcsでコンパイルしてmonoで実行=cscでコンパイルしてmonoで実行
gmcsでコンパイルしてmsclrで実行=cscでコンパイルしてmsclrで実行
ね。
842:デフォルトの名無しさん
09/02/13 17:05:23
つまり Array.Reverse の中の人の差か
843:822
09/02/14 23:18:34
>>842が原因を解明してくれたんで、チラッと調べてみた。
ソースは mono-2.2/mcs/class/corlib/System/Array.cs で、
詳細は省くけど object int double 以外は、汎用的なやたら遅い
Swapper というもので処理されてた。
当然 long が Swapper で処理されていたので、int と同じ処理
を追加したら以下の結果になった。
System.Int32: 0.0042768 s
System.Int64: 0.0050798 s
System.Int32: 0.0042583 s
System.Int64: 0.0051871 s
System.Int32: 0.0043195 s
System.Int64: 0.0052207 s
ソース見ればなんで遅いかは一目瞭然だけど、こういう処理は
Generic を使うべきだろうなと痛感する。(List.Reverse か?)
844:822
09/02/14 23:40:01
以下パッチ
*** Array.cs.orig 2008-11-11 14:02:14.000000000 +0900
--- Array.cs 2009-02-14 22:40:01.000000000 +0900
***************
*** 1215,1220 ****
--- 1215,1231 ----
}
return;
}
+ long[] larray = array as long[];
+ if (larray != null) {
+ while (index < end) {
+ long tmp = larray [index];
+ larray [index] = larray [end];
+ larray [end] = tmp;
+ ++index;
+ --end;
+ }
+ return;
+ }
double[] darray = array as double[];
if (darray != null) {
while (index < end) {
845:822
09/02/15 00:44:07
同じexeをVistaで実行したら
System.Int32: 0.0007259 s
System.Int64: 0.0025201 s
だった・・・
速度差はJITコンパイラ自体の速度差のような気がする。
JITコンパイラは、早いコードを生成する最適化も必要だけど
自分自身も高速に動かないといけないジレンマがあるよな。
846:デフォルトの名無しさん
09/02/15 01:05:25
どうでもいいコード書くときはリストより配列の方が書くのめんどくさくなくて使ったもののあっれーおっそいなーとかってよくあるよねー俺だけですかーそうですよねー
847:デフォルトの名無しさん
09/02/15 03:02:52
>>843-845
面白いネタだ
サンクス
848:デフォルトの名無しさん
09/02/15 10:16:53
今後のために言っておくと、パッチの中身を2chにそのまま貼るのはやめたほうがいい
書き込むときの2chの同意画面に注意
849:819
09/02/15 23:57:39
>>843
自分でもArray.csを読んでみた。
なるほど、その3つの型以外では
for(int l=0,r=array.Length;l<r;l++,r--){
object temp=array.GetValue(l);
array.SetValue(array.GetValue(r),l);
array.SetValue(temp,r);
}
みたいな実装になってるのか。そりゃ遅い訳だ
2.0以降はArray.Sort<T>(T[] array)があるみたいだから、
ついでにReverse<T>(T[] array)とかも追加されてたら良かったのにね
850:819
09/02/16 00:00:08
すまん、どうでもいいかもしれんが
×for(int l=0,r=array.Length;l<r;l++,r--)
○for(int l=0,r=array.Length-1;l<r;l++,r--)
ね。
851:デフォルトの名無しさん
09/02/18 22:22:12
クラスライブラリ(dll)読み込まんのだけどなんでだろ。
ほかのサーバーでは同じディレクトリに入れとけばNPだったのに。
なんか必要なことあるんでしょうか?
852:デフォルトの名無しさん
09/02/23 00:19:56
なんかMONO足りないな・・・
853:デフォルトの名無しさん
09/02/27 01:55:53
2.4RC1が出たぞ。
* JIT
o Metadata verifier
* ASP.NET
o 3.5 APIs (except for Linq support)
o Precompiled Web Sites.
* MonoDevelop 2.0
o Built-in GUI debugger
てなってるが、バグフィックスリリースなんで面白みはない。
854:アカツキ特戦隊
09/03/02 10:23:06
僕も頑張って、よい消しゴム作ったつもりです。
オークションで流してみたので、見ていってください^-^
URLリンク(page2.auctions.yahoo.co.jp)
855:デフォルトの名無しさん
09/03/13 02:50:13
コンカレントGCは実装されないのかー?
856:デフォルトの名無しさん
09/03/25 08:06:13
URLリンク(blog.browncat.org)
わかるような気もする…
857:デフォルトの名無しさん
09/03/25 09:48:45
MONO消し
ププッ・・・ククククッw