[過去ログ] C#, C♯, C#相談室 Part91 [無断転載禁止]©2ch.net (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
860
(1): デフォルトの名無しさん [sage] 2017/01/25(水) 19:30:14.67 ID:/wdbuGDr(1/3) AAS
俺も>>853
853(2): デフォルトの名無しさん [sage] 2017/01/25(水) 11:53:43.34 ID:2idQLFdG(1) AAS
悪いけど暴れてるのは君の方だと思うw
にもう一票。
ただそれ以前に暴れている奴がいないと思うが。

あとC#はnativeでは無くMSILだろ。そして必要十分な速度は出ていると思うよ。
DBについては、自前でDBモドキを作る位なら最初からDB使えって話だろ。
ただしOSは今のNTFS+検索用インデックス(現行システム)でいいと思うけどね。
大半は階層化で問題ないし、必要あればDBを動作させればいいだけ。
WPFは使ったこと無いが、中途半端なものを作るのではなく、
最初からHTMLにしとけばよかったと思う。
863
(1): デフォルトの名無しさん [sage] 2017/01/25(水) 20:00:27.57 ID:/wdbuGDr(2/3) AAS
>>861
861(2): デフォルトの名無しさん [sage] 2017/01/25(水) 19:33:54.26 ID:G7Mt73tJ(1) AAS
>>860
C#は実行時はネイティブだよ
Javaみたいなインタプリタとのハイブリッドとも違い、ほぼAOTな方式
JITと言えよ。話が余計におかしくなるだろ。
とはいえMonoは直接native吐けるようだが。
865
(1): デフォルトの名無しさん [sage] 2017/01/25(水) 21:03:29.96 ID:/wdbuGDr(3/3) AAS
>>864
864(1): デフォルトの名無しさん [sage] 2017/01/25(水) 20:06:49.55 ID:a2fwv9ft(1) AAS
>>863
.NETは起動時にコンパイルだから、JavaのHotSpotみたいなのが真のJITだとするなら実質的にはAOT寄りでしょ
あくまでコンパイルするタイミングの問題でしかないので、ngenや.NET Nativeみたいなのも技術的に難しくない
Cのソースを実行前にコンパイルしてるようなもんだ
所詮は言葉の定義だから争う意味はないんだが、
普通は「直接実行出来ない形式」(=MSIL)で配布され、
それを実行時(=CLR)に機械語に変換して実行するのなら、それはJITと言う。

MonoのAOTは見た目EXビットの対策用で、結果的にnativeが入手出来るが、それはJITより効率が悪い。
例えばJavaScript(V8)の場合は実行時にまず手抜きJITを行い、実行する。
そして何度も実行される部分だけ、最適化JITを行う。
最適化JITを最初から全面的に行わないのは、最適化にも時間がかかるから。
つまり、「JITコンパイル時間+実行時間」が最小になるように最適化している。
もちろん最適化JIT済みのnativeを吐くのも簡単なはずだが、必要ないから見たことはない。
Javaは知らんがHotJavaも同じようなコンセプトだったので、多分同じ。

結局、MonoのAOTは「常に最適化JIT」を全面的に行う分だけ効率が悪い。
ただしAOT済みのexeを配布/使用する場合はJIT時間分だけ効率がよくなる。
MonoはLinux等もターゲットにしているのでAOTが必要だが、
動的コードを実行出来る環境(windows)では必要なかった。
ここで.NET Nativeが出てきたところをも見ると、MSもJIT時間が気になっていたということではある。

.NET NativeならAOTと言っていい。
ただの.NET(MSIL)なら、やっぱりJITだよ。それは実行時(ダブルクリック以降)にコンパイルしている。
最初から全面最適化JITするという、頭の悪いJITを積んでいるだけでしかない。
ではC#は?というのはこの意味では質問が悪いが、
今のC#はMSILが主流だと思うが、
所詮大半はwindows/x86(x64)でしかないのでexeでも問題ないし、今後は変わるのかもね。

ちなみに.NET Nativeにしたら、難読化はかなり進むのかな?
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.035s