[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 07/18 01:06 / Filesize : 168 KB / Number-of Response : 858
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

消しゴムじゃないMONOを使ってみるスレ 2個目



1 名前:デフォルトの名無しさん [04/11/16 23:45:50]
www.go-mono.com/

前スレ
pc5.2ch.net/test/read.cgi/tech/1020215602/


747 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 10:48:33 ]
野良ports作者さん乙です。
ちょっと前にビルドした時のメモを消す前に残しておきます。
依存関係で参考になるかもと思って。

ビルドに gawk が必要
/bin/bash がハードコーディングされている箇所あり。/bin/sh に書き換え
winformアプリの実行に libgdiplus が必要?

748 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 12:34:06 ]
>>743 >>744
intel macだと>741見たいなことにはなるが動いてるよ.
X11を入れ忘れてるとか? Universalだから,「ppcの場合は動きません」とかは無いと思いたい

>>747
libgdiplusの方を先にmake installして下さいと書いてありますね

749 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:54:22 ]
OSX ppcだけどX11いれてるけど動かないよ
traceしてみると
System.Drawing.GdiplusStartupInput:MakeGdiplusStartupInputで止まってるみたい
なにかライブラリ足りない?


750 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:01:50 ]
>>749
ひょっとしてmac ports使ってる?
だとしたら速攻削除して公式バイナリ使ってみれ

751 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 22:54:57 ]
公式だけどだめ mono のforumsに似た症状のカキコがあって
libcairoをいれたら動いたとかあったのでmakeしてinstallしてみたけどかわらないよ
make checkしたらFAILしてるからそのせいなのかわからないけど


752 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 12:43:51 ]
>>749
X11.appを起動して、
export DISPLAY=:0
の環境があるところで実行。

あるいは、
export MONO_MWF_USE_QUARTZ_BACKEND=1
export MONO_MWF_USE_CARBON_BACKEND=1


753 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 22:52:47 ]
OSX ppc で動いた Win.forms 動いたよ
mono --trace hello_form.exe 1>log ってやって、5分以上無応答で
ほったらかしにしてX11のxtermで man mono してたらウィンドウがでてきた
その後はX11も閉じてTerminalからやっても1分くらいで
ウィンドウがでるようになったよありがとう
Mono.frameworkのenv.shを.bash_profileに全部書いたのもよかったのかも

754 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 06:26:48 ]
formsが動いたから遊んでみた
TextBox のコピペしたらクリップボードがOSと共有できないのに気づいたよ
何か共有する方法ってある?ファイル書き出ししかない?


755 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 16:19:17 ]
要望提出



756 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 05:30:34 ]
hosyu

757 名前:デフォルトの名無しさん [2008/12/29(月) 20:56:58 ]
Mono 2.2 RC1 が出たというのに反応がないな...

2.2はJITエンジンが新しくなってて、Winformsもたくさんバグが
とれてるし、重要なリリースだよ。


758 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 04:14:34 ]
簡単なちん毛ログはでてないのか?

759 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 12:48:44 ]
ASP.NET AJAX動いた人いる?
実験したんだが、Visual Web Developerで動かしたときはリロードなしで動くのに、
プロジェクトをコピーしてxsp上で動かすとページ全体をリロードして動く。
使ったのはmono公式で配ってる
Mono-2.0.1_openSUSE-11.0.iso
をVirtualPC上で動かした環境。

760 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 15:23:47 ]
>>758
ttp://www.mono-project.com/Roadmap
このページに要約とリリースノートがあるよ。


761 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 05:23:20 ]
てかGNOMEのもの必要としすぎ

762 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 04:08:20 ]
>>761
Mono は glib しか必要としてないはずだけど。
Winforms は Cairo を使っているけど、ソースに内包してるから
改めてインスコしとく必要はないよ。


763 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 18:37:58 ]
.NETがすでにインストールされてるWindowsにMONOを入れたらどっちで走るの?

764 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 18:50:00 ]
.NET Framework

765 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 19:26:22 ]
試してみたいけどPC一台しかもってないから面倒なことになりそうだな



766 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 21:37:01 ]
コマンドプロンプトで、monoへパスが通ってるところで、
mono hogehoge.exe
で実行したら、monoで走る。それ以外は純正.NETで走る。

767 名前:759 mailto:sage [2009/01/01(木) 21:42:19 ]
自己解決。/xsp/ScriptResource.axdが404になってるのが分かり、数時間悩んだ末
/usr/lib/xsp/test/web.config
をVWDの出力したものに置き換えたら普通に動いた。
プロジェクト一式をディレクトリを掘った奥に置いただけだったからだめだったのね。

768 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 13:03:58 ]
Mono on Android

ttp://tirania.org/blog/archive/2009/Jan-05-1.html
ttp://www.koushikdutta.com/2009/01/mono-on-android-with-gratuitous-shaky.html

769 名前:デフォルトの名無しさん [2009/01/13(火) 07:49:20 ]
>>762
公式で転がってる各種のtoolをいれた時の話
必要とされまくってるよ

770 名前:デフォルトの名無しさん [2009/01/13(火) 07:50:52 ]
あとcairoってGNOME関係なくね

771 名前:デフォルトの名無しさん [2009/01/13(火) 07:59:55 ]
てか別に意地になるような話でもことでもないけどさ
入れればいいだけだし
ただなんとなく気分で書いた
glibとかcairoとかgtkに必要なものぐらいはどうせokだけど
なんか何が必要なのか分からないからとりあいず
公式においてあるもので必要になりそうなものだけ入れとくかと思ったら
GNOMEができあがっていらっとしただけの話でした失礼しました

772 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 01:30:36 ]
Cell B.E.に特化したMONOってありませんの?

773 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 11:01:51 ]
IBM が乗り気になればできるんじゃない?

774 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 23:53:37 ]
>>772バカは死ねよ

775 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 00:29:39 ]
2.2出たみたいだね



776 名前:デフォルトの名無しさん mailto:sage [2009/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」は、新しいフィルタリングオプションやルールが追加された。
既存ルールの修正や強化も行ったという。
sourceforge.jp/magazine/09/01/16/048239

777 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 02:51:13 ]
2.2がでても盛り上がりなしか・・・

778 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 02:56:22 ]
俺は見守ってる

779 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 10:53:26 ]
俺も見守る

780 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 11:21:22 ]
俺は看取ることにしよう

781 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 13:38:51 ]
FreeBSD Mono とかいうメーリングリストが始まったらしい件

782 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 14:36:19 ]
Monoの為だけにopenSUSEにしちまった

783 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 14:50:53 ]
>>782
俺漏れも

784 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 05:49:37 ]
このプロジェクトが存続するとマイクロソフトにとっては厄介なことになりそうだな
.NETを捨てる時にユーザーが付いてきてくれなくなったらどうするんだろ
MONOも変えさせるんだろか

785 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 09:23:16 ]
それは杞憂といいます



786 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 21:16:08 ]
仮にMSが.NETを捨てて新しものを作ったとする.
その新しいものが.NETよりもずっと魅力的ならデベロッパーもユーザーも
付いていくし,今度はそれの互換環境を他OS向けに開発しようという奴が出るだろう.
魅力的でなければまぁ誰も移行しなくて終了.それだけじゃね?

787 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 02:42:06 ]
.NETはOSのAPI的な意味合いが強いから、そう簡単には捨てないだろ。
それよりも、.NET使ったアプリは結構な割合でWin32も一緒に使ってる。
Win32自体がまだ捨て去られていないほうが問題だ。


788 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 16:24:15 ]
.netで、ユーザーモードのデバイスドライバを開発できるようになってほしいな。
上手くmonoが追従すれば、LinuxでもWindowsでも同一バイナリのドライバでデバイスが使えるようになる。

でも、そこまで抽象化するのも難しいのかねえ

789 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 22:46:18 ]
昔のPDCの資料では、UMDFでC#でドライバ書けるとなっていた。
しかし途中からそういう話はなくなった。

790 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 00:36:54 ]
WPFは実装しないのかなあ
WinFormsに比べたら移植性は高そうだけど

791 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 00:53:55 ]
WPFは普及度的に後回しだろうな

792 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 01:12:14 ]
Win 7と VS 10 + .NET 4.0 で弾みがつくかもしれないけど
まだまだだしな > WPF

793 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 22:46:11 ]
始まる前に終わる

794 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 00:59:11 ]
ttp://www.atmarkit.co.jp/news/200901/29/mono.html
> iPhoneでC#アプリが審査に通るワケ

Windows でも AOT でネイティブ EXE 作れるの?

795 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 01:28:39 ]
GnomeはどのぐらいMonoになってるの?



796 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 13:03:54 ]
ぜんぜん

797 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 07:31:19 ]
ubuntu 8.10 serverで使ってるんですが、CreateDirectoryの類が使えないのはなぜ?


798 名前:797 [2009/02/02(月) 07:32:54 ]
例外も出ないんですが、処理が実行されててもディレクトリが作成されていません。


799 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 09:35:54 ]
他のlinuxでもそう?

800 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 09:36:01 ]
勘違いでした。
別のディレクトリを見てました。


801 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 12:00:41 ]


802 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 15:11:32 ]
なんつー間の抜けたスレ

803 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 22:00:59 ]
所詮2chレベル

804 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 01:04:40 ]
Monoの話じゃないのだけれど、java swingのプログラムをlinuxで動かしたら
ホームディレクトリに 
~/C:\windows\temp\hoge.tmp というファイルが出来て笑ったことがある。

805 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 01:08:35 ]
決め打ちかよw



806 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 12:34:12 ]
使い捨てのコードとか、利用者が自分だけだというコードではよくやるよなー

807 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 13:02:41 ]
何も考えずに、カレントディレクトリとかにすればいいのに。

808 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 13:16:34 ]
>>807
Vistaだとカレント(プログラムのあるディレクトリ)に書こうとすると変なことろに飛ばされるじゃん。

809 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 13:18:11 ]
あちこちのファイルし操作してるとカレントに頼れないからな
書き込めない場会も多いし

810 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 23:56:42 ]
確かに環境変数とかってなんも設定されてないな。/tmp決め打ちでいいかと。

811 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 00:44:13 ]
そしてWindowsユーザーが「勝手にtmpとかディレクトリ掘られててわろた」
とかスレたてするんですね。

812 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 01:00:31 ]
mono製のクロスプラットフォームで動くアプリを数本書いてるが、
何箇所かはEnvironment.OSVersionのPlatformIDで分岐させてるよ。


813 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 01:05:55 ]
tempのフォルダ取得ぐらい、.NETなら標準で用意されてるじゃねーか。
それどころかtempファイルまで作ってくれるわ。

814 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 01:48:35 ]
そもそもWindowsでもTEMPとTMPの環境変数はデフォルトでセットされてる。

815 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 18:55:10 ]
IronPythonはMonoで動きますか?



816 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 19:08:14 ]
IronPython1.0は動く。
IronPython2.0は今のところ未対応。
F#はばっちり動くよ

817 名前:デフォルトの名無しさん [2009/02/08(日) 22:47:44 ]
消しゴムの(MONO)を使って、東方を描いてみました。
初めての試みなので、ちょっと雑な部分もあるかも知れませんが^−^;

page6.auctions.yahoo.co.jp/jp/auction/f76771677
page9.auctions.yahoo.co.jp/jp/auction/k108226196
page2.auctions.yahoo.co.jp/jp/auction/b94573580
page.auctions.yahoo.co.jp/jp/auction/115816594

818 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 23:27:46 ]
サラしageは他の板でやってくれ

819 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 22:48:21 ]
そりゃx86上じゃ64bit整数はそのままじゃ扱えないからな

821 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 23:17:13 ]
MONOの最適化はちょっと甘いことがある。

822 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 00:44:58 ]
64bitモードじゃないと64bitレジスタは使えない件について

824 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 00:47:17 ]
    Run(new long[10000]);
    Run(new int[10000]);
の順で実行したらどうなるの?

825 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 00:55:03 ]
Windows Vista Ultimate 32bit Q6600

System.Int32: 0.0009932 s
System.Int64: 0.0031525 s

int と long の実行順序を逆にしても変わらん



826 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 00:58:17 ]
>>825の環境で object も試してみた

System.Int32: 0.0009384 s
System.Int64: 0.0032696 s
System.Object: 0.0066534 s

構造体って速いんだね

827 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 01:25:13 ]
誰か64bit環境でやってみて

828 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 02:00:35 ]
なるほど
あとintだけ配列の要素数を2倍にするとどうなる?

830 名前:819 mailto:sage [2009/02/13(金) 02:06:17 ]
>>822
CPUはCore Solo U1300(1.06GHz)だから、
64bitレジスタはないはず。

他の型の場合についても試してみたらこんな結果になった。
Monoはintとdoubleが速くて、それ以外が一様に遅い。
VC#は32bit以下と64bitで分かれてる。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8877.txt

Array.Reverseの内部でboxingされてるとかいう理由な気がしてきた。
Monoではintとdoubleだけは例外的に最適化されたりするのかも。
実際にstatic void MyReverse<T>(T[] a)とか実装して走らせてみたら、
だいたいVC#の2倍くらいの実行時間になった。

831 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 02:07:10 ]
>>823
そんなことない。レジスタサイズプリフィックス(?)をつければ
普通に使えるだろ。
64bitモードに移行すれば、プリフィックスがいらなくなる分
早くなるとかはある。
むかし、MS-DOSで386の32bitレジスタを使って高速化のテクとか
色々あったことを思い出した。


832 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 02:09:59 ]
>>831
残念ながらそんなことあるんだな。64bitが可能なのはlong modeという特殊なモードだべ。

833 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 02:18:51 ]
>>832
あぅ、確かに64bitモードはかなり厳格になっている...
嘘ついてごめんちゃい

834 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 02:23:01 ]
>>828ってVC#の結果?


835 名前:819 mailto:sage [2009/02/13(金) 02:33:51 ]
>>824
変わらなかった。
>>829
実行時間は単純に2倍になった。

参考になるかわからんが、Mono 1.2.6でも似たような結果だった。
(というより、元々は1.2.6を使っていて、こういう結果が出たから2.2に更新した)



836 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 02:42:46 ]
>>835
なるほど
サンクス

837 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 03:07:49 ]
こんだけ単純なコードなら吐き出したCIL見比べた方が早いんじゃない?

838 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 03:30:55 ]
ところがぎっちょん。
cscでコンパイルしたのをmonoで動かしても
gmcsでコンパイルしたのをmsclrで動かしても同じ結果なのです。


839 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/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 mailto:sage [2009/02/13(金) 13:27:13 ]
>>837
ILは知識が無くてわからないけど、
>>838の言うような結果になった。
gmcsでコンパイルしてmonoで実行=cscでコンパイルしてmonoで実行
gmcsでコンパイルしてmsclrで実行=cscでコンパイルしてmsclrで実行
ね。

842 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 17:05:23 ]
つまり Array.Reverse の中の人の差か

843 名前:822 mailto:sage [2009/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 mailto:sage [2009/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 mailto:sage [2009/02/15(日) 00:44:07 ]
同じexeをVistaで実行したら

System.Int32: 0.0007259 s
System.Int64: 0.0025201 s

だった・・・
速度差はJITコンパイラ自体の速度差のような気がする。
JITコンパイラは、早いコードを生成する最適化も必要だけど
自分自身も高速に動かないといけないジレンマがあるよな。




846 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 01:05:25 ]
どうでもいいコード書くときはリストより配列の方が書くのめんどくさくなくて使ったもののあっれーおっそいなーとかってよくあるよねー俺だけですかーそうですよねー

847 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 03:02:52 ]
>>843-845
面白いネタだ
サンクス

848 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 10:16:53 ]
今後のために言っておくと、パッチの中身を2chにそのまま貼るのはやめたほうがいい
書き込むときの2chの同意画面に注意

849 名前:819 mailto:sage [2009/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 mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 22:22:12 ]
クラスライブラリ(dll)読み込まんのだけどなんでだろ。
ほかのサーバーでは同じディレクトリに入れとけばNPだったのに。

なんか必要なことあるんでしょうか?


852 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 00:19:56 ]
なんかMONO足りないな・・・

853 名前:デフォルトの名無しさん [2009/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 名前:アカツキ特戦隊 [2009/03/02(月) 10:23:06 ]
僕も頑張って、よい消しゴム作ったつもりです。
オークションで流してみたので、見ていってください^−^
page2.auctions.yahoo.co.jp/jp/auction/b97392083

855 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 02:50:13 ]
コンカレントGCは実装されないのかー?



856 名前:デフォルトの名無しさん mailto:sage [2009/03/25(水) 08:06:13 ]
blog.browncat.org/2007/12/mono.html

わかるような気もする…

857 名前:デフォルトの名無しさん mailto:sage [2009/03/25(水) 09:48:45 ]
MONO消し

ププッ・・・ククククッw






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<168KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef