12/05/07 19:57:17.91 +4v8wJnI
Xamarinは、AndroidのJavaで書かれた部分をC#に移植した「XobotOS」をGitHubで公開した。
XobotOSはJavaをC#に変換する「Sharpen」と呼ばれるツールを使用して移植された。
ホストOSと統合する部分のコードと、Java JNIからCで書かれたネイティブコードを呼び出
すコードを手作業で置き換えた以外は、Sharpenにより自動変換されている。
XobotOSではAndroidがMono上で動作し、Dalvik VM上と比べて大幅にパフォーマンスが
向上するという。
また、C#と.NET VMはECMAで標準化されており、Javaのような特許問題が発生しない点も
メリットといえる。
URLリンク(linux.slashdot.jp)
■パフォーマンス比較
URLリンク(tirania.org)
■Xamarinのブログ記事 URLリンク(blog.xamarin.com)
■XobotOS-GitHub URLリンク(github.com)
■atsushieno氏のブログ記事 URLリンク(d.hatena.ne.jp)
2:名無しさん@お腹いっぱい。
12/05/07 19:58:21.35 zkyqtUWm
Androidを全面的にC#で書き直したXobotOS公開、ICSとの性能差が酷すぎる
スレリンク(poverty板)
3:名無しさん@お腹いっぱい。
12/05/07 20:00:58.74 grscHi5O
>>1
乙
4:名無しさん@お腹いっぱい。
12/05/07 20:09:45.16 V3ty7a7O
カスタムROMはよ
5:名無しさん@お腹いっぱい。
12/05/07 20:21:16.61 ufVzA5bN
【消しゴム】MONOを使ってみるスレ4【じゃない】
スレリンク(tech板)
6:名無しさん@お腹いっぱい。
12/05/07 20:21:29.09 qdcllGY0
とりあえずまずはGNで動くカスロムを作ってください
7:名無しさん@お腹いっぱい。
12/05/07 20:28:31.11 kpCu/XXw
乞食端末持ちはお帰り下さい
8:名無しさん@お腹いっぱい。
12/05/07 20:30:13.99 q7VKBJZH
プログラムのことは素人だけと、XobotOSの狙いは何なの?
AndroidOSをまともなものにしようって取り組みなの?
9:名無しさん@お腹いっぱい。
12/05/07 20:33:01.11 hbOMt4Jm
>>8
仕組みを大幅に変更してレスポンスを向上させようっていう試み。
10:名無しさん@お腹いっぱい。
12/05/07 20:38:20.98 ufVzA5bN
>>8
Oracle訴訟を解決しようという試みでもある
11:名無しさん@お腹いっぱい。
12/05/07 20:50:52.44 ZczaN36+
>>9-10
ということはやはり
性能上がるしJava?使わないから訴訟もかわせますよ
GoogleさんAndroidにこれを採用しませんか?っていうプレゼン的なものでおk?
12:名無しさん@お腹いっぱい。
12/05/07 21:11:51.34 hbOMt4Jm
>>11
Javaはアプリで使うことになるだろうから完全排除は無理かな。
13:名無しさん@お腹いっぱい。
12/05/07 21:12:53.55 HNGgzqbP
マルチポストやめろ
14:名無しさん@お腹いっぱい。
12/05/07 21:21:37.70 wQP2Ik5e
あっちこっちにここのURL貼ってる人がいてうざいです。
責任もってここで引き取ってください。
15:名無しさん@お腹いっぱい。
12/05/07 21:27:12.62 yN8jUbpU
Android も標準言語をC#にしよう。
16:名無しさん@お腹いっぱい。
12/05/07 21:29:07.36 AtwiOEB5
で、これが載ったスマホはいつ出るの?
17:名無しさん@お腹いっぱい。
12/05/07 21:35:08.29 +4v8wJnI
>>16
自分で入れなよ
18:名無しさん@お腹いっぱい。
12/05/07 21:35:47.98 HX9XjojN
詳しくないから分からないんだけどこれに対応したカスタムROMができたとして今までのアプリは問題なく動くの??
19:名無しさん@お腹いっぱい。
12/05/07 21:40:53.31 1qeYaunR
>>1
▼プログラム板
URLリンク(toro.2ch.net)
▼プログラマー板
URLリンク(kohada.2ch.net)
▼ゲ製作技術
URLリンク(toro.2ch.net)
▼CG板
URLリンク(toro.2ch.net)
▼ハード・業界
URLリンク(anago.2ch.net)
▼スマートフォン
URLリンク(anago.2ch.net)
▼スマホアプリ
URLリンク(anago.2ch.net)
20:名無しさん@お腹いっぱい。
12/05/07 21:42:34.58 o1U1TCMs
>>18
Java VMが無いのに動くわけ無いでしょ
21:名無しさん@お腹いっぱい。
12/05/07 21:43:45.80 AtwiOEB5
>>17
どうやって?
22:名無しさん@お腹いっぱい。
12/05/07 21:50:20.73 +4v8wJnI
>>21
君ががんばって
23:名無しさん@お腹いっぱい。
12/05/07 21:57:57.71 HX9XjojN
>>20
だから詳しくねぇって断ってんだろうがよ
ちょっと知識あるからっていきがってんじゃけぇよ
24:名無しさん@お腹いっぱい。
12/05/07 22:01:04.89 SJdjHdIJ
>>23
25:名無しさん@お腹いっぱい。
12/05/07 22:04:30.96 qdcllGY0
>>23
教えてもらったのに怒るなら聞かんでもええじゃろうて
26:名無しさん@お腹いっぱい。
12/05/07 22:08:33.57 PTKg8e7f
怖すぎワロタ
27:名無しさん@お腹いっぱい。
12/05/07 22:11:02.24 HX9XjojN
すいません取り乱してしまいました
28:名無しさん@お腹いっぱい。
12/05/07 22:29:57.96 JPAJr07Y
>>12
何言ってんだよ
アプリをjavaで動かしてたのはiアプリ(笑)だろ
29:名無しさん@お腹いっぱい。
12/05/07 22:36:00.67 Rep0d/gH
正直最初からネイティブでやってくれればよかったのにな…
>>1のブログ見るとなんでjavaにしたんだ、と思ってしまうな
30:名無しさん@お腹いっぱい。
12/05/07 22:36:11.11 ITob8X+6
ん‥どこまでC#に移植したのかがよくわかんねぇんだけど、Dalvik消したらAndroidに何が残るん?
31:名無しさん@お腹いっぱい。
12/05/07 22:36:50.59 +4v8wJnI
monoで。
32:名無しさん@お腹いっぱい。
12/05/07 22:43:38.92 Rep0d/gH
>>30
カーネルとライブラリw
たぶんアプリケーションフレームワークとシステムアプリまではC#化したんじゃないのかな?
>>1のブログ全部読んだらわかるかも!ざっと見た感じ書いてない気がするけど!
33:名無しさん@お腹いっぱい。
12/05/07 22:45:12.04 hbOMt4Jm
>>28
NDKで作られてない限りJavaだろ。
34:名無しさん@お腹いっぱい。
12/05/07 22:47:27.07 Rep0d/gH
あーでもjavaのライブラリを差し替えるから完全に移植できないのかな?でも自動でできるとか言ってるし…
javaしか知らないし、javaもよくしらないおれは結局よくわからん…
35:名無しさん@お腹いっぱい。
12/05/07 22:50:03.21 hbOMt4Jm
>>34
Javaアプリ変換ツールとか出来ればいいんだがな。
36:名無しさん@お腹いっぱい。
12/05/07 22:53:45.80 Rep0d/gH
>>35
なんかそんなのをリリースするみたいなことをブログに書いてた気がする…
ほんとにざっと見ただけだから、正確に訳してないんだが…
てかNDKって結局javaと組み合わせないと使えないと理解してたんだが…間違ってる?
だから勝手にjavaを完全に排除して、開発環境ごと総入れ換えかな?と思ってた
37:名無しさん@お腹いっぱい。
12/05/07 23:00:49.09 j1o5ABv2
泥井戸再生計画ktkr
これで勝つる!
38:名無しさん@お腹いっぱい。
12/05/07 23:11:22.56 a0AQR18d
むしろ、日本メーカーこれ買って覇権とれや
39:名無しさん@お腹いっぱい。
12/05/07 23:12:46.64 u83gRN5G
Xperiaは載せて来そう
40:名無しさん@お腹いっぱい。
12/05/07 23:16:21.64 Rep0d/gH
>>39
そうかな?googleがホンカクテキニ採用しない限りCMとかMIUI的な扱いになりそう…
でも全部自動でバグ少なく移行できるなら採用しない手はないよなー
さぁー寝れん寝るー!
41:名無しさん@お腹いっぱい。
12/05/07 23:25:21.62 u83gRN5G
>>40
PSSでmono採用してるし、アプリの互換さえなんとかなれば載せて来そうな気がする
42:名無しさん@お腹いっぱい。
12/05/07 23:29:34.44 Rep0d/gH
>>41
アプリの互換って結局VM上で動作させるってことでしょ?
そしたら性能変わんなくない?
もしくはほとんどのアプリを自動移行させるってことだよね?
それにはgoogleの本格採用いるくない?
ぺリアファンとしては来てほしい限りだけど
43:名無しさん@お腹いっぱい。
12/05/07 23:33:21.83 s9H7bNLz
>>40
個人的にはCMに組み込んで欲しい
メーカーは下手なことしなくていい
44:名無しさん@お腹いっぱい。
12/05/08 00:18:12.91 qOs5KwnD
メモリ消費 メモリ確保 実行時間
バイト ミリ秒 ミリ秒
-------------------------------------------------
DalvikVM クラス 9817240 5388 3013
MonoVM クラス. 7376896 933 167
JavaVM. クラス 10438176 319 211
MonoVM 構造体. 2007040. 12 107
URLリンク(www.koushikdutta.com)
実のところOracle Java VMとXamarin Mono VMは勝ったり負けたりな結果だったりする。
つまりGoogleがOracleにゴメンナサイしてDalvik VMの代わりにJava VMを積めばみんな嬉しい。
あとC#の構造体は鬼最適化が効く。
MonoはまだまだだがMS VMだとVC++より速いという不思議なことになる。
ただクラスと違って使い勝手はクソ悪い。
45:名無しさん@お腹いっぱい。
12/05/08 03:17:05.86 2B8zWLtb
>>44
C#の値型はそもそもクラスの代替じゃないから問題なし
46:名無しさん@お腹いっぱい。
12/05/08 04:00:15.60 pkCYMXiJ
>>44
Oracleの高額なライセンス料がユーザーかメーカーに
跳ね返ってきて結果的にアンハッピーだろうけどな
47:名無しさん@お腹いっぱい。
12/05/08 05:58:15.54 1bjQ36+g
>>36
確かにNDKもJavaとの組み合わせだ。
でもそこに書かれているJavaを理解するのにVMはいらないと思う。
48:名無しさん@お腹いっぱい。
12/05/08 06:00:25.12 1bjQ36+g
>>42
でもandroid自体は軽くなる。
49:名無しさん@お腹いっぱい。
12/05/08 06:01:52.51 1bjQ36+g
>>46
こまけえこたあいいんだよ!
50:名無しさん@お腹いっぱい。
12/05/08 06:22:02.09 /9SDYaRO
>>43
そんなんじゃ結局アプリの速度は変わらないし意味ねーよカス
51:名無しさん@お腹いっぱい。
12/05/08 06:28:28.55 qOs5KwnD
>>46
高額といってもガラケーと同じになるだけだけどね
52:名無しさん@お腹いっぱい。
12/05/08 07:13:19.38 25Mha5J/
>>47
そうなんだ、勉強になります
とりあえずはやくカスロムがきていじってみたいなー
53:名無しさん@お腹いっぱい。
12/05/08 07:58:32.76 UjyV2nwM
>>50
だから勝手にメーカーがXperiaに導入したってアプリの速度は変わらないんだからいれる必要ないだろ
Googleが採用しない限りメーカーから出ることはないんだからカスタムROMで自分でアプリも変換していじる程度の遊びにしかならないよね
54:名無しさん@お腹いっぱい。
12/05/08 08:32:03.87 25Mha5J/
>>53
たぶんソースコードがないと勝手に変換はできないよ
googleが採用ってのが一番だよね
もしくはosをサポートっていう形で、play storeでサポートしてほしいな
メーカーが内蔵osに選択肢をあたえてくれるようになる、とかデュアルブートとか妄想してたら嬉しくなってきたw
55:名無しさん@お腹いっぱい。
12/05/08 09:33:21.65 E8ffarBE
>>44
プロセスの分離がきいてないoracle jvmもどうかと思う。
zygoteの仕組みは評価してあげたい。
zygoteはxobotでどうなっているのやら
56:名無しさん@お腹いっぱい。
12/05/08 10:28:30.17 r6OwON4B
これプレステと関係あんの?
57:名無しさん@お腹いっぱい。
12/05/08 10:39:18.11 A41ztG4A
で、クソ泥が生まれ変わるのは何年後よ?
(゚σ・゚)
58:名無しさん@お腹いっぱい。
12/05/08 10:48:07.71 uwoDjEGm
GoogleによるJava著作権侵害裁判、ほぼOracleの勝ちが確定、崖っぷちAndroid、どうするコマンド?
スレリンク(poverty板)
みごとなタイミングでGoogleに迷ってる猶予はなくなった
59:名無しさん@お腹いっぱい。
12/05/08 12:06:39.45 hwkw42WQ
>Dalvik VMの代わりにJava VMを積めばみんな嬉しい。
結局これでFA?
60:名無しさん@お腹いっぱい。
12/05/08 12:10:48.13 WuAml84r
JavaVMは起動が絶望的に遅い
とてもでないが使い物にならない
61:名無しさん@お腹いっぱい。
12/05/08 13:52:57.67 8dt2RMSj
>>58
お金払って和解するしかないんだろうなあ・・・。
62:名無しさん@お腹いっぱい。
12/05/08 13:55:23.47 E8ffarBE
>>59
プロセス毎にvm起動させた場合のフットプリントがj2meはでかいから、一概にそうとはいえない
63:名無しさん@お腹いっぱい。
12/05/08 15:11:54.10 O5sIC8Uw
>>59
バイトコードが別物のVMを乗っけてどうする。
64:名無しさん@お腹いっぱい。
12/05/10 23:41:17.12 2YF81v4d
>>1
怪しいなあ。Xamarinって、あのクソなGNOMEプロジェクト創始、
Nautilsファイルマネージャ、無謀なMONOプロジェクト等
役立たずなモノばかり作ってLinux界を引っ掻き回してきた連中じゃん
Androidの速度がパッとしない世間の不満を利用して、
詐欺紛いの技術でまた儲けようと企んでるんじゃないの?
これだけ差があるなら比較動画くらいありそうなのにねえし
65:名無しさん@お腹いっぱい。
12/05/10 23:52:22.86 5MarNyQ5
Googleも大変だナァ。
もう少し早ければCMが実験して実用レベルまで品質上げてくれてたかもしれないのに。
Oracleごと買い取っちゃいなYO
66:名無しさん@お腹いっぱい。
12/05/10 23:58:39.04 2YF81v4d
Googleなんて褒められたもんじゃねーよ
プライバシーポリシー糞だし
67:名無しさん@お腹いっぱい。
12/05/11 00:21:13.13 aWuyFPAi
なんでmonoとかMS周辺とかはこういう煽り方するんだろう。
C#のECMA標準化にしたって2.0まででしょ?
今回のもマイクロベンチマークだしそのままモバイルに持っていけるのか?
structとかreified genericsとかで実際に何倍も差が出んのか?
68:名無しさん@お腹いっぱい。
12/05/11 00:29:13.38 xUlVonk7
>>66
Twitterの規約読んでくるといいよ。
69:名無しさん@お腹いっぱい。
12/05/11 00:52:57.49 Dy8UWo8v
iosでいうなら
std::vector<int>とNSMutableArray+NSNumberの比較
70:名無しさん@お腹いっぱい。
12/05/11 00:55:55.76 LSCn2YKZ
XamarinがMSの手先なら、
目的はAndroidの開発に携わる人間の分断が目的だろーな
71:名無しさん@お腹いっぱい。
12/05/11 01:03:47.80 ODb9oHs2
アプリ開発者としては、単純に C# で、というか VisualStudio で開発できるのはかなり嬉しいけどね
72:名無しさん@お腹いっぱい。
12/05/11 01:20:49.82 NIUpCI00
>>64
Monoが速いんじゃない。
Dalvikが遅すぎるんだ・・・
Dalvik vs NDK では5000倍以上の差が付くことすらあるだぜ・・・
>>1どこの騒ぎじゃない
> Android NDKを使用してJava言語とC言語で速度比較をする
> URLリンク(labs.techfirm.co.jp)
>
> Javaは45825ミリ秒、Nativeは9ミリ秒・・・・早い。早すぎる。
73:名無しさん@お腹いっぱい。
12/05/11 01:36:58.45 aWuyFPAi
Javaでintの動的配列を高速化したいんだったら
int[]使ったクラスでも作りゃいいじゃんか。
そして速さがJITによるものだったらスマホで使えるかは怪しい。
Dalvikが遅いのは最適化してないから。VM使うC#に変えても同じ。
最適化がんばるとメモリと計算時間と電力使う。
74:名無しさん@お腹いっぱい。
12/05/11 01:51:27.66 aWuyFPAi
>>72
5000倍はどう考えても単純な計算のコンパイル時最適化じゃないですかー。
みんなマイクロベンチばっかり。まあ実際のアプリで測るのは難しいけど。
75:名無しさん@お腹いっぱい。
12/05/11 01:55:23.56 37qSM+9E
>>73
随分無理のある主張だなw
そんな無茶苦茶なことやってる奴なんてデータベース界隈くらいにしかいないだろ。汎用性がなさ過ぎる。
76:名無しさん@お腹いっぱい。
12/05/11 02:15:54.61 37qSM+9E
>>73
dalvikは低フットプリントのluaにすら負けてるの。フットプリントやバッテリーを言い訳にするのは苦しい。
monoはスマートフォン向けクロスプラットフォーム環境としてはシェアトップで実際に問題無くjit動いてるしaotも可能(お値段の問題があるが...)
値型によってスタックからのオブジェクト割り付けもできる。
> int[]使ったクラスでも作りゃいいじゃんか
スタック領域って知ってる?値型って知ってる?ボクシングって知ってる?
List<int>に限定した話にしてしまってるのは>>73だけ。それ以前に出てた話はものの例えにすぎん。
長さが固定長ならそれはListではないし...
77:名無しさん@お腹いっぱい。
12/05/11 08:01:23.03 +p2stp4P
みんな忘れてるのかもしれんが、すでに Dalvik って JIT つかってんだよ。
2.1 から 2.2 で、ほとんどのアプリで数倍パフォーマンスよくなったでしょ。
Mono はJITあるからなんてのは言い訳にならんよ。
78:名無しさん@お腹いっぱい。
12/05/11 08:38:33.18 aWuyFPAi
DalvikのJITは最適かかかってないんで、
単にネイティブにコンパイルしてもそんなに速くならない。
79:名無しさん@お腹いっぱい。
12/05/11 08:56:53.45 iIIvEbLy
>>78
そりゃ実行時の最適化を難しくするようなアーキテクチャにしちゃったからだろ?
本家JavaVM も.NET もスタックマシン選んだのは、実行時に局所性と並列化するヒントをもたせたり、機械的に判断できるようにするため。(ほかにも理由はあるだろうけど)
あえて実行時の推測が難しくなるレジスタマシンに変えて JIT化のメリットがあまり無いって方向でアーキテクチャ設計しちゃったんだから仕方ない。
成功してる先例を無視して、あえて遅くなる自前のアーキテクチャにこだわった結果がコレ
80:名無しさん@お腹いっぱい。
12/05/11 09:03:00.67 TlS/VPf0
大先生が煽りあいしてる(´・ω・`)
81:名無しさん@お腹いっぱい。
12/05/11 09:31:01.61 tQKRpmr4
勉強になるなぁw見てて楽しいw
82:名無しさん@お腹いっぱい。
12/05/11 14:45:15.85 z1hoWilm
まーアプリの開発にasync、await使えたらcollback周辺で幸せになる向きも多いんじゃなかろか。
LINQとか移植できるんかしらんけど。
つーか実機で動くイメージをビルドできた外人ってどっか居るんかねぇ
83:名無しさん@お腹いっぱい。
12/05/11 14:46:04.65 z1hoWilm
酷いtypoをした
84:名無しさん@お腹いっぱい。
12/05/11 15:20:08.59 37qSM+9E
>>82
monoに入るのはまだまだ先だろw
本家でさえ正式リリースになってないというのに
85:名無しさん@お腹いっぱい。
12/05/11 15:54:43.49 AEtF8bK6
仮に接木できたとしても jni とか jna その辺のターゲット環境のデバイスハードに
依存にする部分は別途書き直さないといけないとかそれなりに面倒だろうなぁ…
って>>1に書いてあるか…自動変換も万能じゃないよね・・・
86:名無しさん@お腹いっぱい。
12/05/11 18:03:28.45 37qSM+9E
>>85
でも現実的にはjniまわりの変更部分はインターフェース部分だけだろ
あとandroidでjna動かせたって例はきいたことない。
87:名無しさん@お腹いっぱい。
12/05/11 18:15:33.11 fuLqy5+6
動画もないのかよ
うそくせー
88:名無しさん@お腹いっぱい。
12/05/11 21:45:48.18 uy6orVRf
pics or it didn't happen か
89:名無しさん@お腹いっぱい。
12/05/11 22:51:07.77 AEtF8bK6
>>86
URLリンク(github.com)
7日前くらいに Timothy さんがコンパイルとリンクに成功したそうな
リンクまで進めてるなら jna も一年以内に動くようになるようななら
ないような気がしないでもない…
90:名無しさん@お腹いっぱい。
12/05/12 17:01:18.34 U+SQ6yNx
完成度低すぎ
実機に移植できるのはまだまだ先だな
91:名無しさん@お腹いっぱい。
12/05/12 18:56:34.29 T6k+R/Ns
もたもたしてたらAndroid死んでしまうやん!
92:名無しさん@お腹いっぱい。
12/05/24 14:46:42.11 xWdWAgie
android死なず!
93:名無しさん@お腹いっぱい。
12/05/25 15:18:08.82 TH/V1+D8
とりあえずOracleの特許侵害とか難癖付けられてた件が解決しそうで何より
94:名無しさん@お腹いっぱい。
12/05/25 16:39:42.84 YXF0iTy2
んだな
95:名無しさん@お腹いっぱい。
12/05/25 17:20:34.24 rYn+uvj5
んだんだ
96:名無しさん@お腹いっぱい。
12/05/27 22:59:51.60 BWfGoSgk
まだもうちょっとだけ続くんじゃ