Androidアプリ、C#で書くとJavaの10倍速いことが判明 C言語NDKとほぼ同じ速度
■ このスレッドは過去ログ倉庫に格納されています
https://sec.ch9.ms/ch9/de11/2495af1a-6033-409d-983b-c0912b4ade11/WinDev018UWPXamarin_Custom.jpg
Your world is not just one platform nor device. With Xamarin, you can learn to target
Windows, iOS and Android while providing native experiences.
James will quickly deep dive into how to quickly execute this.
He shows how to do build an application that targets Windows, iOS, Android, and even has a web front end as well!
(動画)
https://channel9.msdn.com/Events/Windows/Windows-Developer-Day-Fall-Creators-Update/WinDev018 2ちゃんねるに入り浸ってる人ならこれくらいの事はみんな理解出来るんだな。
俺は入り浸ってないから。 >>30
ネイティブコードだから当然理解できるだろ Javaで安く簡単に作って利用者は快適に使いたいなら高額なスマホ買う
これでいいじゃん Javaはもうセキュリティ突かれやすいって噂しか印象がない あんま詳しくないけど大して記法変わらんやろ?
英語とドイツ語ほどの違いもない。 >>12
ENVIRONMENT DIVISIONがすごいことになるんじゃね? よく分からんが、なんでこんなにJAVAって嫌われてんの? C#が良いという評価にも関わらず
Windows Phoneは売れなかった。 >>42
根本的に遅い
簡単なアプリやツールを作るんだったら良いけど
パフォーマンスが必要なアプリもJavaで書いちゃうから色々トラブる >>42
簡単にやりたい事を実現できるけど重くなりやすいから、職人堅気に嫌われがち
ゲームを縛りプレイしてる奴がノーマルプレイしてる奴を馬鹿にしてる感じ >>42
今の若い人は知らんだろうけど、90年代はうっかりJavaアプレットが埋め込まれたサイト開くとHDDがガリガリいいだしたんやで。 $ arm-linux-gnueabi-gcc annyeong.c -o annyeong. >>5
おじいちゃん・・・ みずほのシステム統合は終わったからゆっくり寝てていいよ プログラマー食わすための簡単なことをダラダラやる言語 >>42
Javaを作ったSunがOracleに買収されて
OracleアレルギーのオレがJava憎しになった Windows上でXamarin使えば
macとiphoneが無くても
iphone用のアプリ作れる?
iphoneの実機で動作確認しながら作らないと出来悪い? アメリカのtech系のメディアでOracleが叩かれるのは
Oracleの政治的スタンスがリベラルでは無いから
トランプや共和党とも親しいしLGBT権利拡大には距離おいてるし
女性蔑視でHPを追われたマークハードを社長に据えたりするようなリベラルの敵
だから西海岸系の意識高い連中から常に絡まれて攻撃的な記事書かれる Xamarin使って開発?
Xamarinコミュはオタサーの姫を信仰するカルト教集まりの印象あるから触りたくないな… iphoneと比べるとゲームがモッサリしてるのもこれが理由? オラクル会長のラリーエリソンは
自宅を和風建築にし日本庭園作ったり超絶親日家なのに
日本のアメリカかぶれのライターもオラクル叩くよね .netは結局Windowsでしか使われないまま死ぬんか?
これは実質Javaへの敗北やないんか >>52
Macがないとコンパイルできない。技術的な問題ではなくAppleがMac以外でのiOSアプリコンパイルを規約で禁止してる。 >>63
文化と親日感情は切り離して考えろガイジ
ヨガが流行ってるからってインド大好きってなる奴はいない >>63
あの人南禅寺付近の別荘を洋風に改造してない?
数年前にグーグルマップ見て心配になった >>65
元々Windowsマシンのハードウェア差分やOSバージョン違いを吸収するためのものだし
充分役目は果たした JAVAという言語そのものは別に悪くないけど、
JVM上で走らせるからクソ遅いんだよな。
ネイティブコードが速いのは当たり前だけど
androidのハードの差をどう吸収するのって話になる >>76
今はARMしかないんだから別に吸収する必要なくね? >>59
それもあるだろうけど、Unity製とかならAndroidに最適化されてない せっかくスッキリJava読んだのに無駄になるのかなぁ JVMはサーバーサイド最速に倒されてるからな
サーバー用途ならCとかで作られるアプリよりも速い まじか
昨日アンドロイドスタジオインストールしたばっかりなのに
cでも行ける? WindowsPhoneが生きてりゃあなあ
泥なんかすぐにも投げ捨てたいが Javaは失敗した言語
Cが難しくてわからないバカ用 >>87
ユニコーンよりマーク2のが動きが軽快だった。 はぁ、数年前から.netネイティブコンパイラは有ったけど、今回、標準でバンドルされる様になったの? >>81
HotSpotVM以外も早いんかね
OpenJDKとかどうなんだろう Xamarin.DroidはC#で閉じて実行するぶんには速い。
nativeからのコールは場合によってはnative→ART→Monoと2回マーシャリングされるので遅くなる。
Win32みたいにGoogleがnativeで色んな低レベルAPI用意してくれたらXamarin最強になるんだけどねぇ。 >>5
SOURCE-COMPUTERとOBJECT-COMPUTERは?昔専門学校生の頃COBOLの実習で、ピリオドが抜けていてコンパイルエラーってよくあったな。 >>95
WORKING-STORAGE SECTION.は? >>94
Xamarin.Anndroidは隠しオプションでLLVMで事前にネイティブコードを吐くことができる >>97
マジレスすると学生の時はそれ書かなかったな。DATA DIVISIONのみ。 >>99
使うAPIによってはAOTコンパイルでも結局2回JNIを経由しちゃうのよ。
Javaなら1回なのに。 これってC♯が優れてるのではなくて
単にネイティブコードとjavaとの速度差なのでは? >>103
ネイティブコードの対義語はjavaではなく中間コード。 速度は速いかもしれないけど
グラフィック系の命令ってどうなってるんだっけ?
.NETでは事務アプリしか作ったことないからさっぱりワカラン DATA DIVISIONってギャバンで叶和貴子が言いそうだよな ベンチマーク取るならなんでアセンブラで書いたコードと比較しないんかね。
アセンブラはCの10倍は速い。 >>110
それはないw
今時のCコンパイラは人が下手に書くより速い。 いまどきのコンパイラには最適化と言った冗長なレジスタ操作を省いたり、重複したコードをまとめたりする機能が付いてるんだよなぁ。
だから人間がアセンブラで書いたコードよりシンプルな処理を吐き出して来るんだ。
まあ、おかげでデバッグしたくてもソースとの対応が難しいんだけどな。 LLVMなんて、ある関数呼び出しにおいてその実引数による返り値が一定と判断するとそもそも関数呼び出しコードさえ削除されて即値のコードが吐かれる。
単純な関数ならともかく、複雑な関数だと人間によるリファクタレベルの最適化じゃ太刀打ちできない。
LLVMはコンパイル時に内部で仮想的に実行して最適化判定するんだろうね。 >>113
新し目のgccでもその最適化してくれるで >>113
でも実行時のジャストインタイムでのCPU種別毎の最適化ができないだろ
中間コード方式じゃないから一度バイナリにして配布してしまったら
その後でCPUスペックやコア数違う環境では最適実行にならない Javaクライアントアプリでは遅くて使いモノにならんのは当初から言われてた
結果、サーバーサイドアプリ(サーブレット、JSP)がほとんどになったハズなのに、Android出てからクライアントアプリもJavaでってGoogleが採用しちゃったのが元凶
GoogleがJava以外で開発言語提供してたら状況変わってた >>31
「いのうえ」で変換かけたら「#上」で出てくるから上を消せばいい >>117
> でも実行時のジャストインタイムでのCPU種別毎の最適化ができないだろ
そうでも無い。 Javaって普及してるってだけでただのゴミだもんな。 >>115
新しめのgccはコアにLLVM使ってたような?
>>117
JITの最適化は都市神話レベルじゃね?
そもそもLLVMはコンパイル時にJITの最適化してるようなもんだし。 >>121
libgccjit.soみたいなののこと?
これが本格的に使えるようになって
C#やJavaのようなGCの仕組みも実装されれば
C/C++もやっとサーバーサイドでJava並みに速くなれるよね UnityでIL2CPP通さなくて良くなってビルドが早くなるみたいな話? >>110 >>112
実際に簡単なサンプルコード書いて動かして比べてみ。
Cは簡単なコードでもスタートアップライブラリやスタックオーバーフローチェックライブラリなどが自動的に組み込まれるので
バイナリサイズがかなりでかくなる。アセンブラなら数百バイトのものが数十k〜100kバイトを越えるサイズになる。
これだけ差があるとロードするだけでも時間差が大きい。本来やりたい処理を実行する時間よりロードする時間のほうが長くなる。
サーバ上のアプリのようにたくさんアクセスされて何度も実行される処理ならさらに差が出る。
数百バイトならCPUのキャッシュに入ってしまってディスクからリロードする時間さえ不要になるが、
Cのバイナリならでかいから一々ディスクから読み直さなければならない。 >>128
それはないw
CPUキャッシュの次はHDDとかの二次記憶ってw
一次記憶のSDRAMの存在忘れてねぇ? >>107
CGI+がラップしてあってそれを使える
俺もあまり使わんから詳しくはわからん >>128
んでそれでサイズ可変のJSONとかどう処理するんだよ どういうこと?Androidアプリが10倍ヌルサクになるの? ■ このスレッドは過去ログ倉庫に格納されています