2ちゃんねる★スマホ版★■掲示板に戻る■全部1-最新50

C#だとそんなに重くなるもんなの? [無断転載禁止]©2ch.net

1 :
2016/03/18(金) 03:11:27.56 ID:2SFtdnJU
どうなの?
2 :
2016/03/18(金) 03:35:56.25 ID:Ql02eGiq
>>1
MSIL(中間言語)で実行されるから、いわゆるマシン語(ネイティブ)よりかなり遅いw
3 :
2016/03/18(金) 03:37:07.01 ID:Ql02eGiq
んで、理論上は遅いけど、マルチスレッド配分の効果で小さいプログラムであれば差異はないw
4 :
2016/03/18(金) 03:38:17.38 ID:Ql02eGiq
ちなみに、C#はウィルス作成者が好むらしいから、基本的に使わない方がよいw
5 :
2016/03/18(金) 03:39:11.57 ID:Ql02eGiq
結論: C#を使うのであれば、似たようなJavaScriptを使うのが現実的w
6 :
2016/03/18(金) 04:48:48.79 ID:pFVF3Rok
>>5
どこが似てるんだ死ねや
7 :
2016/03/18(金) 05:06:39.19 ID:mQak4MFU
C#はawait/asyncの効果でネイティブよりも頻繁にマルチスレッド使うからどうでしょうね
8 :
2016/03/18(金) 05:48:40.54 ID:Ql02eGiq
素直にVC++使えばいいのにw
9 :
2016/03/18(金) 08:23:07.86 ID:qdgmWZAX
マルチスレッドにしやすいから体感ではC#のが速く感じるね
10 :
2016/03/18(金) 09:47:21.55 ID:iqB8o3aT
C#が重いイメージの原因はだいたい起動時間の長さ
起動時にディスクから読む量が多くてHDD時代は遅かったが
SSDではもう全く問題にならない
11 :
2016/03/18(金) 11:52:24.29 ID:R++Q/oTK
Nativeってどーなの?
12 :
2016/03/18(金) 15:10:46.85 ID:CHwFOf/R
C/C++ネイティブに比べたら数段遅いのは当然
でもハイパフォーマンスが求められないUI主体のアプリならどうでもいい
13 :
2016/03/18(金) 16:39:49.61 ID:9TU5I2Dh
中間言語で格納されてるけど、実行はネイティブコードになるんじゃなかったっけか?
起動はともかく、実行速度がそんなに遅い印象はないけど。
14 :
2016/03/18(金) 18:11:04.25 ID:TnhQu8xZ
実行はネイティブコードだよ
起動はc++に比べれば遅いだろうけど、他では差を感じないな

業務システムなのにC#だとパフォーマンスが〜とか宣うのは単に新しい言語が使えない奴だと思って間違えない
15 :
2016/03/19(土) 02:06:24.01 ID:UJJaLrV5
なんかオチ満載だなw
16 :
2016/03/19(土) 04:04:33.02 ID:Nl6jTeis
中間コードでインタープリター実行?
ここはネタスレなのかw
17 :
2016/03/19(土) 05:24:26.18 ID:UJJaLrV5
VC++使えない奴が使う言語w
18 :
2016/03/19(土) 10:24:35.84 ID:2ONnYKOm
C++使えるなんてとても言えない
19 :
2016/03/19(土) 10:29:20.75 ID:nNXNMonF
C++使えますなんて自分から言えたら大したものですよ。
20 :
2016/03/19(土) 10:38:58.85 ID:/R8BseZf
いくらJITでネイティブコードに変換されるっていっても
例えば、配列の要素の和を計算するような処理だとC++の方が3倍は速いんだよな
21 :
2016/03/19(土) 11:33:47.62 ID:UJJaLrV5
ネイティブコードに変換なんかしないよw
中間言語(MSIL)で動くだけw
22 :
2016/03/19(土) 12:56:30.59 ID:noSbtECw
あー、答え言うの早いよ
もう少し泳がせてバカの知ったか見本市にしたかったのに
23 :
2016/03/19(土) 14:56:23.37 ID:6ZUw9eus
JITコンパイル
.NETネイティブ
24 :
2016/03/19(土) 15:50:14.80 ID:S6HwApMW
あのさあ勤務先で使うソフトがc#で作ってるぽいんだけど画面でマウスのポインターを追いかける標準を合わせるようなマークが付いてくるんだけどこれ重くなるよね??
25 :
2016/03/19(土) 15:56:49.12 ID:8q6oCiAL
日本語でおk,
26 :
2016/03/19(土) 16:01:40.77 ID:S6HwApMW
>>25
いやわかるだろ
27 :
2016/03/19(土) 16:16:47.46 ID:/R8BseZf
照準のことを標準って書いて良いと思い込んでるものとしてエスパーすると
そのソフトの要件ではマウスポインタが照準形であるべきだったのに作った奴が
マウスポインタの形を変える方法を知らなかったからそうしちゃったとか?
いずれにせよ照準マークが不必要なら無駄に重くなるのは当然
28 :
2016/03/19(土) 18:49:31.55 ID:S6HwApMW
>>27
処理が追加されてるからその分コンマ数秒でも重くなるのはそりゃ当然ちゃ当然なんだが
ちょっとそれがどれ程度重くなるのか
マウス追いかけるアニメーション作った経験者がもしいるなら聞きたい。とても重くなるのか体感しない程度なのか

図形を描画するソフト使ってて時たま何故かとても重いからもしかしてと思ってだな
29 :
2016/03/19(土) 19:16:59.86 ID:+qB6zkXr
勝手にカーソル制御するためにグローバルフック使ってんならWin32でDLL書いてんじゃね
30 :
2016/03/19(土) 20:12:33.76 ID:kZqOhklD
マウスポインタを追従するアニメーションを見る行為そのものが
体感的に遅延を感じさせる。気がする。
31 :
2016/03/20(日) 01:50:09.34 ID:zkWK/x2O
>>22
そういう意地悪をしちゃダメだよなw
VC#やるぐらいならJavaScriptやった方がマシだよw

…つーか、ウィルス作者認定されてるから使わないに越したことはないw
32 :
2016/03/20(日) 03:33:28.09 ID:5jvoMV41
JIT を知らない老害w
33 :
2016/03/20(日) 04:02:25.76 ID:zkWK/x2O
VC++とインラインアセンブル使うのがいいよw
もっとも、アセンブラのできない奴用の流刑地がC言語だった訳で(笑)
34 :
2016/03/20(日) 04:30:41.47 ID:9URbr6kI
>>31
お前、一生包丁使わないでいろよ
35 :
2016/03/20(日) 05:17:22.11 ID:zkWK/x2O
MZうyちゃ〜ん♪登場w
36 :
2016/03/20(日) 05:18:03.10 ID:zkWK/x2O
VC#=VBの方言w
37 :
2016/03/20(日) 06:11:29.80 ID:yN6fzEfa
コテの中だと片山が一番マシだな
自信過剰で危ない人には変わりないが
38 :
2016/03/20(日) 06:56:07.76 ID:PhFZ+ojV
VSに紙のマニュアルが付いて来たら運ぶのに台車が必要なくらい重いだろうな。
39 :
2016/03/20(日) 06:59:53.38 ID:PhFZ+ojV
>>31
JavaScriptなんてインタープリター実行で遅いしブラウザー互換も無い。
イマドキ、ブラウザーで実行をONにしてたら情弱と言われるぞw
40 :
2016/03/20(日) 07:46:46.97 ID:NBM4xa3I
>>39
情弱さんチーっすwww
41 :
2016/03/20(日) 09:49:56.87 ID:+JHMHqfK
ゼロから言語を学び始めてアプリを作成して
アプリが動作を完了するまでの時間は
CとC#でどちらが速いですか?
42 :
2016/03/20(日) 10:35:55.84 ID:yN6fzEfa
>>40
全力で釣られやがって
43 :
2016/03/20(日) 11:05:09.60 ID:PhFZ+ojV
>>41
どちらも同じ
44 :
2016/03/20(日) 12:08:22.69 ID:YlJ66Eyf
初心者は C とか考えなくていい
45 :
2016/03/20(日) 13:02:44.16 ID:PhFZ+ojV
初心者はJavaScriptが良いよ。
ブラウザーで簡単に動かせるしスクリプト言語なので言語が超簡単お手軽w
46 :
2016/03/20(日) 13:07:19.89 ID:wfb7+m03
初心者はExcelマクロがお手軽でいいと思う
47 :
2016/03/20(日) 18:35:46.19 ID:3N1O8Tp2
コテハンのチンパンジーのアイちゃんはそれっぽいことを言うけど全く正しくないし、指摘されるとアハッwとかいってごまかせてると思ってるからかわいそすぎる
荒らしにしてもあまりにも手口が下手だし
48 :
2016/03/20(日) 22:51:04.18 ID:pHWeLd7R
C#含めた.Net Frameworkは確かに遅いがWindows10MobileからストアでNativeバイナリ配布するようになってるからなかなか速くなるみたいよ
とは言ってもアセンブラにCがかなわないように所詮はラッパーである.Net FrameworkがCにかなうことはないけど
.Netのプログラム見るとコストも考えずよく変換処理かけてるけどCやってればありえないからな
手軽にフロントエンド作るにはいいけどフルで.Net使うのはあまり現実的じゃない
49 :
2016/03/20(日) 23:00:21.68 ID:TtjNwfG2
現実ってw
たぶん君が使ってるアプリの半分くらいはバックエンドがC#より遥かに遅いスクリプトで書かれてるよ?
50 :
2016/03/20(日) 23:14:20.97 ID:pHWeLd7R
言葉足りなかったわ
現実的じゃないのは業務レベルでの場合
規模小さくて要求を満たせればいいけどフルでやって要件速度満たせなくてよく尻拭いしてるからな
それで飯食ってる部分はあるからありがたいといえばありがたいんだがなw
51 :
2016/03/20(日) 23:16:56.98 ID:0p6FyfqH
要件速度満たせなくてよく尻拭いって たとえばどんなの?
52 :
2016/03/20(日) 23:19:33.01 ID:my1q7TW9
実際のところ俺が作るレベルのアプリならC++より速度が遅くて困ることはないなぁ
所詮16ミリセカンド以内に処理が終わればいいし
53 :
2016/03/20(日) 23:23:42.83 ID:TtjNwfG2
業務アプリでC#が遅いからCに書き直してんの?
その>>50のオナニーか無知の産物を尻拭いさせられる奴はたまったもんじゃないなw
54 :
2016/03/20(日) 23:33:35.87 ID:pHWeLd7R
>>51
例えば10万件のデータ一覧を1秒以内に表示する要件速度で15秒もかかってるのを1秒以内に収める
55 :
2016/03/20(日) 23:36:32.71 ID:hDKHHxYj
そんな無意味な用件ってあるの?
ファイル出力とかならともかく10万件表示とか。
56 :
2016/03/20(日) 23:36:39.42 ID:bOQIaBhI
>>54
それIOと描画の問題じゃね?
言語変える前にやるべきことはいくらでもありそう
57 :
2016/03/20(日) 23:36:57.07 ID:0p6FyfqH
>>54
たとえばじゃなくて、あなたが尻拭いした実例を
58 :
2016/03/20(日) 23:37:05.04 ID:NBM4xa3I
>>54
それは要件自体がおかしい
59 :
2016/03/20(日) 23:44:00.73 ID:pHWeLd7R
この場合だとデータ生成までC++で処理してあとはそのデータをC#で表示に変更した
C#の表示もおかしいところがあったから直したけど
60 :
2016/03/20(日) 23:44:38.24 ID:my1q7TW9
俺的には10万件って全然たいしたことない気がする
そんなの16ミリセカンド以内でも普通にいける。
61 :
2016/03/20(日) 23:49:29.85 ID:NBM4xa3I
>>59
10万件表示したものを何にどう使うのさ?
62 :
2016/03/20(日) 23:49:42.32 ID:3N1O8Tp2
単にC#での書き方が悪かったんじゃね?
63 :
2016/03/20(日) 23:54:57.47 ID:pHWeLd7R
>>55
業種によってかなり変わると思うけど10万程度は別におかしいレベルじゃないよ
1日数千万件や億超えもあるようだし
逆に1000件程度のデータしか使わないならC#だけでもいいと思う
要は要件に合わせていろいろ使い分けが必要ということ
64 :
2016/03/20(日) 23:55:07.63 ID:+JHMHqfK
10万件表示されても読むほうが追いつかないわ
65 :
2016/03/20(日) 23:59:19.63 ID:pHWeLd7R
>>61
基本はフィルターかけるからそんなに出すことはない
全表示が速ければフィルターかけたらさらに速いとイコールだということ
この性能は満たさないと金は払わんというお客さんの警告だよw
66 :
2016/03/21(月) 00:04:41.34 ID:gGtaNB7f
表示ってのがオカシイだけで内部的なデータ作成だったら10万件1秒とか
インタプリタでもどうにかなるレベル
67 :
2016/03/21(月) 01:35:07.84 ID:ogEf5rhI
>>65
御用聞きの馬鹿丸出し典型例だな
68 :
2016/03/21(月) 02:30:16.51 ID:W47zDOKQ
ここネタスレじゃなかったの?
69 :
2016/03/21(月) 03:41:04.47 ID:EMxvNiL3
起動は仕組み的にどうしても時間掛かるけど実行速度でそんな差がつくとは思えん
言語じゃなくて書き方の問題だろ
70 :
2016/03/21(月) 06:23:55.21 ID:r5+DtFUy
VC++ & DarkGDK & マルチスレッドの時代。(アハ
71 :
2016/03/21(月) 08:43:12.15 ID:ql4fhKaf
C++がC#より優れてるのは実は速度より移植性の高さ
.Netがようやくマルチプラットフォームに乗り出したけどC++で書けば必然的にマルチプラットフォーム対応になる
スマホやタブレットへの要望もある今は特に重宝する
C#はとっつきやすいから好きだけどUnityがそうであるようにまだまだC++におんぶなんだよな
72 :
2016/03/21(月) 09:07:47.51 ID:MWamfxLv
C++で書けば必然的にマルチプラットフォーム対応に。。。なんねーよ
73 :
2016/03/21(月) 10:38:38.32 ID:ogEf5rhI
>>71
最近C++押しが湧いてて気持ち悪い
74 :
2016/03/21(月) 10:47:53.03 ID:35lNhTqu
>>68
ネタスレだよ。
マジレスしてるように見えて小さな釣り針が隠されているレスばかりw
75 :
デフォルトの名無しさん
2016/03/21(月) 11:09:57.85 ID:Y+CQ6vla
小さすぎてガチっぽいんだが
76 :
2016/03/21(月) 11:27:36.00 ID:ql4fhKaf
>>73
昔はWindowsアプリだけでよかった
それがウェブに取って代わられた
今はスマホのネイティブアプリが必要になった
多様なプラットフォームに対応できるC++が基盤になるのは必然と言ってもいい
とは言え扱いにくいのは間違いなくUnityのようなアプローチがいいとは思っている
77 :
2016/03/21(月) 11:47:04.05 ID:p3S9wzo3
UnityはC++でプラットフォーム別にエンジンを実装してるだろう
プラットフォームに依存しない上位のロジックを共通化するという考え方はあるが、
Unityではその上位のロジックというのがまさに「C#」に相当するわけで
C++のクロスプラットフォーム性を示す例としては極めて不適切
78 :
2016/03/21(月) 12:27:12.55 ID:ql4fhKaf
これから勉強予定だから詳しくないがUnityは中間コードをC++に変換して各コンパイラでコンパイルすると思ってたんだが違ったか?
まあ言いたいことはC++をコンパイルできない環境がないほど移植性が高いのには違いない
79 :
2016/03/21(月) 12:31:51.22 ID:p3S9wzo3
C++はプラットフォーム依存が激しく生産性も低いので、C#という抽象化レイヤを設け
それを各プラットフォーム用に変換することでクロスプラットフォームにしている
80 :
2016/03/21(月) 12:41:38.81 ID:35lNhTqu
大型釣り針でました〜
81 :
2016/03/21(月) 12:44:35.38 ID:26uyMVzq
小物は針に掛からないか
82 :
2016/03/22(火) 18:54:09.73 ID:hhuTNQkg
C#はボーランドPascalの末裔
83 :
2016/03/22(火) 19:11:41.19 ID:tKjHOAe5
なぜポーランド
84 :
2016/03/22(火) 22:00:33.62 ID:1U04SQ7G
ボーランドに居たヘジタンの作品だから
85 :
2016/03/23(水) 08:48:42.59 ID:+6VblMCY
今 Windows アプリでネイティブコードにするメリットってなんかあるかな?
むしろ VC は CLI のためだけにあるような気がしてる。
86 :
2016/03/23(水) 09:32:52.92 ID:d4s8z5nU
>>85
プロセッサの性能を最大限に引き出す必要がある部分についてはネイティブなC/C++を使用する以外の選択肢がない
87 :
2016/03/23(水) 11:12:22.52 ID:6M7X8Avq
>>85
俺は計算スピードが要求される部分のみC++でdll作って、ガワはC#とかF#ってことが多い
88 :
2016/03/23(水) 15:46:42.03 ID:jKaAPJmo
C++の出番がまた減った

GPU Computing on .NET at Speed of CUDA C++
http://blog.quantalea.com/?p=9871
89 :
2016/03/23(水) 19:31:00.40 ID:d4s8z5nU
>>88
へえ面白そうだな試してみるよ
それはそうと、C#から使えるSIMD使った行列・ベクトル演算ライブラリ知らない?
AVX2とかAVX512とかを自動で切り替えてくれるやつがいいんだけど
90 :
2016/03/23(水) 21:07:36.42 ID:0dLy2K+b
>>87
呼び出し方法はどうやっているん?
あるいはデータ受け渡しや結果の取得は?
91 :
2016/03/24(木) 08:11:53.24 ID:Zi9ClHu7
>>90
swig
92 :
2016/04/23(土) 15:40:09.16 ID:1Sq0h5u7
大した物作ってないくせにw
93 :
デフォルトの名無しさん
2016/05/01(日) 09:51:04.86 ID:tKi6j9CT
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
94 :
2016/05/09(月) 18:53:18.12 ID:k75Rf48x
気づいたら、C# が C++ の速度を凌駕している!
ttp://espresso3389.hatenablog.com/entry/2016/05/02/081308
95 :
2016/05/10(火) 12:20:51.16 ID:0YzP/zpq
96 :
2016/09/15(木) 13:28:18.82 ID:NBzoNAq4
すみません。Moq について質問です。
インタフェースをMock化した時とか、Setupしていないメソッドやパラメータが呼ばれた時に例外を吐くように設定したいのです。
入り組んでいて、何が呼ばれるのか追いかけるのに疲れました。
例外を吐いてくれれば、Setupしなくちゃと分かるので、デフォルトで例外を吐くような機能があるんじゃないか?
と、ググろうとして・・・思いつきませんでした。

どうすれば良いでしょうか?


・・・とか書いていたら、自己解決してしまいました。
https://github.com/Moq/moq4/wiki/Quickstart#customizing-mock-behavior

var mock = new Mock<IFoo>(MockBehavior.Strict);
としろと。
97 :
2016/09/15(木) 14:21:29.86 ID:NBzoNAq4
相談室と間違えて書き込んでた・・・orz
98 :
2016/12/05(月) 05:42:35.21 ID:TC/GOrDD
LINQ、WPF使わなければ重くならないよ。
99 :
デフォルトの名無しさん
2016/12/05(月) 09:06:47.12 ID:G9HLTkgy
LINQそんな重くなるか?
なるシチュ教えてくれ
100 :
2016/12/05(月) 22:57:54.01 ID:1fkHLAA9
Point[] points = new Point[1000000];
int minX, maxX, minY, maxY;

minX = points.Min(p => p.X);
maxX = points.Max(p => p.X);
minY = points.Min(p => p.Y);
maxY = points.Max(p => p.Y);
101 :
デフォルトの名無しさん
2016/12/05(月) 23:11:52.11 ID:G9HLTkgy
>>335
桁が足らんだろ
26KB

新着レスの表示

★スマホ版★■掲示板に戻る■全部前100次100最新50

名前:E-mail: