最近のC#、C++よりずっと速いことが判明

記事サムネイル
1 : 2024/10/16(水) 22:56:44.309 ID:XFVWA6+60
やばすぎる
3 : 2024/10/16(水) 22:57:34.882 ID:eglNcO+eH
アセンブリと比べて
5 : 2024/10/16(水) 22:58:49.621 ID:XFVWA6+60
>>3
アセンブリとほぼ同等
なぜならアセンブリにコンパイルされるから
13 : 2024/10/16(水) 23:01:19.623 ID:wpby0R820
>>5
すべての言語が結果的にアセンブリ言語に変換されているわけだが

お前がやばすぎると思うぞw

14 : 2024/10/16(水) 23:02:35.255 ID:pWhp3VWr0
>>13
は?インタプリタって知ってる?
49 : 2024/10/16(水) 23:13:02.555 ID:wpby0R820
>>14
インタプリタは中間コード化された命令ごとにランタイムのルーチンを
呼び出してるという実装がほとんどな訳だが
広義には、命令ごとにマシン語に変換して実行しているのと同じなんよ
4 : 2024/10/16(水) 22:58:16.398 ID:tcrtLZ5VM
一部を切り取って全てを語るの仕事出来ないやつって感じでいいよな
6 : 2024/10/16(水) 22:59:50.575 ID:86V0/kjJ0
何言ってんだこの馬鹿は
9 : 2024/10/16(水) 23:00:49.456 ID:XFVWA6+60
>>6
いやマジだから
C#×LLVM=アセンブラ!?だから
26 : 2024/10/16(水) 23:06:28.178 ID:tcrtLZ5VM
>>9
LLVM言語は結構あるぞ
ちなみに吐き出されるLLVMにも違いがあるし、言語によりランタイム処理もLLVMで吐き出されてるのでその処理がオーバーヘッドになりうる
28 : 2024/10/16(水) 23:06:57.231 ID:XFVWA6+60
>>26
じゃあRustもダメやんけwww
7 : 2024/10/16(水) 23:00:12.665 ID:XFVWA6+60
この動画めちゃくちゃ分かりやすい!
https://youtu.be/D8gPTErxZXc?si=1RuhZ8p57p2t567b
8 : 2024/10/16(水) 23:00:24.120 ID:hNji9iOE0
またこいつかよリアルの満足度低いからかネットで自己肯定感得ようとするやつ増えすぎでは
10 : 2024/10/16(水) 23:00:50.318 ID:vP3M7X8Md
そうなんだ
すごーい
さすがC#ですね
12 : 2024/10/16(水) 23:01:01.443 ID:XFVWA6+60
>>10
だよね
11 : 2024/10/16(水) 23:00:56.629 ID:tLv4PFamM
それを言うなら機械語に翻訳される、では?
15 : 2024/10/16(水) 23:02:35.624 ID:TkGxYIq6a
GCとかいうクソ遅補助輪使ってる時点で相手になってないわ
せめてRustと比べてくれ
18 : 2024/10/16(水) 23:04:12.109 ID:XFVWA6+60
>>15
Rustと同等
なんなら複数コアでは勝ってるまである
https://x.com/Dave_DotNet/status/1673393475507867649
24 : 2024/10/16(水) 23:06:03.093 ID:TkGxYIq6a
>>18
gRPCのパフォーマンス比較並べてどうしたの
27 : 2024/10/16(水) 23:06:35.367 ID:XFVWA6+60
>>24
余裕でRustにかってんだわ
30 : 2024/10/16(水) 23:07:35.926 ID:TkGxYIq6a
>>27
numpyが速いからPythonは速いとか言ってそう
33 : 2024/10/16(水) 23:08:09.439 ID:XFVWA6+60
>>30
いうわけないだろ雑魚
40 : 2024/10/16(水) 23:10:02.756 ID:TkGxYIq6a
>>33
じゃあgRPCで速いからC#は速いってどういう意味?
47 : 2024/10/16(水) 23:12:11.764 ID:XFVWA6+60
>>40
C#はLLVMでコンパイルすることができる
よってRust並みに高速
つまりgrcpで速度勝ってるC#のほうが早い
51 : 2024/10/16(水) 23:13:47.108 ID:tcrtLZ5VM
>>47
LLVMだから速いってのが意味がわからんな
56 : 2024/10/16(水) 23:14:45.719 ID:XFVWA6+60
>>51
LLVMは最適化(SIMDなど)された機械語をコンパイルするコンパイラー
つまりネイティブでクソ早い
67 : 2024/10/16(水) 23:17:39.597 ID:TkGxYIq6a
>>56
最適化のないコンパイラを使う言語ってなんだよ
77 : 2024/10/16(水) 23:20:16.985 ID:tcrtLZ5VM
>>56
どう考えてもC#の利点にはなり得ないだろ
82 : 2024/10/16(水) 23:23:05.273 ID:XFVWA6+60
>>77
いやなるよ
そもそも別に遅くてもいいところは普通のC#で手を抜けるからね
例えばUI処理とか
ただ自分のキャラの操作や敵の動きなど一番重要なところは高速化してクソ早くしようってのがUnityC#Burstの強み
Rustみたいなそれしかできないゴミとは違うのです
87 : 2024/10/16(水) 23:25:00.733 ID:tcrtLZ5VM
>>82
ゲーム開発視点から見たらそりゃそうだろ
ポジショントークが過ぎるなそれは
92 : 2024/10/16(水) 23:27:28.655 ID:XFVWA6+60
>>87
いやでも普通のソフトウェア作ってるときもそうでは?
確実に遅くてもいい部分は存在する
特にUIとか
61 : 2024/10/16(水) 23:16:28.944 ID:TkGxYIq6a
>>47
LLVMを限界までパフォーマンスを最適化する魔法か何かと勘違いしてる?
C#って高速化するなら罠多いからRustやC++より面倒だしお前がまともに書けてるとは思えない
68 : 2024/10/16(水) 23:18:07.702 ID:XFVWA6+60
>>61
余裕で書けてんだよなぁ
UnityC#Burstはバカでも最適化できるように設計してある
C#こそが最強である
71 : 2024/10/16(水) 23:18:48.219 ID:TkGxYIq6a
>>68
書けてないのに気付いてないだけ
76 : 2024/10/16(水) 23:20:15.834 ID:XFVWA6+60
>>71
書けてんだよなぁ
マジでそう思うならUnityC#Burstやってみたら良い
俺の言ってることがわかるから
85 : 2024/10/16(水) 23:24:08.562 ID:tcrtLZ5VM
>>76
1回見てみたいわバカでも最適化できる言語
言語よりも計算量のほうが明らかに重要だけどそこも最適化してくれんのかな
91 : 2024/10/16(水) 23:26:40.494 ID:XFVWA6+60
>>85
だから今からUnityインストールして使って見ろ
めちゃくちゃ面白いぞ
96 : 2024/10/16(水) 23:29:24.849 ID:tcrtLZ5VM
>>91
俺はゲーム開発興味ない
ゲームやんないし
Unityに限定されてる時点で使う気にはなれないね
17 : 2024/10/16(水) 23:03:02.829 ID:86V0/kjJ0
こんな馬鹿だとC#なんてどうせ組めないだろ
19 : 2024/10/16(水) 23:04:27.138 ID:XFVWA6+60
>>17
余裕で組めんだわ
20 : 2024/10/16(水) 23:04:38.065 ID:vP3M7X8Md
真面目な話
元々C言語屋だったけど
C++はゲロ吐きそうになった
C#は好き
23 : 2024/10/16(水) 23:05:14.945 ID:XFVWA6+60
>>20
くそわかる
22 : 2024/10/16(水) 23:05:10.783 ID:g0V38gCV0
基準を底辺に合わせるならC#の方が最悪を避けられるって意味では速いかもね
25 : 2024/10/16(水) 23:06:18.929 ID:XFVWA6+60
>>22
いやマジで
低レベルメモリの扱い方わかってればSIMDとLLVMで超高速ってのが今のUnityC#Burst
29 : 2024/10/16(水) 23:06:59.472 ID:tcrtLZ5VM
>>25
SIMDはCPUの機能だぞボケナス
32 : 2024/10/16(水) 23:08:00.294 ID:XFVWA6+60
>>29
並列化だろアホ
36 : 2024/10/16(水) 23:09:02.062 ID:TkGxYIq6a
>>32
並列に一気に計算できるっていうCPUの機能だぞ
38 : 2024/10/16(水) 23:09:19.276 ID:XFVWA6+60
>>36
だからそうじゃん
43 : 2024/10/16(水) 23:10:49.928 ID:tcrtLZ5VM
>>38
お前会話できないな
C#の機能ではないんだよ
52 : 2024/10/16(水) 23:13:51.832 ID:XFVWA6+60
>>43
いや知ってるけど
SIMDも使ってさらに高速になったって話してんの
44 : 2024/10/16(水) 23:11:08.212 ID:TkGxYIq6a
>>38
C#関係ねえよ
31 : 2024/10/16(水) 23:07:49.736 ID:XFVWA6+60
UnityC#BurstはRustと同様にノンガベージ
Rustより遅いわけ無いわなw
34 : 2024/10/16(水) 23:08:15.094 ID:tLv4PFamM
パフォーマンスだけが言語の良し悪し決めるわけでもないけど、C#は言語として完成されてると思う
37 : 2024/10/16(水) 23:09:08.759 ID:XFVWA6+60
>>34
だよね
素晴らしい言語体系をしとる
なんならポインターまで扱える器の広さも兼ね揃えてるからねぇ
35 : 2024/10/16(水) 23:08:57.049 ID:KgW1j99Ma
C++とC#でハローワールド作って速度くらべてみ?
c#遅くてビビるぞ
39 : 2024/10/16(水) 23:09:48.093 ID:XFVWA6+60
>>35
そりゃUnityC#Burstじゃないからだろw
41 : 2024/10/16(水) 23:10:25.457 ID:tLv4PFamM
>>35
VisualStudioの実行ボタン押して遅いって言ってるんじゃないだろうな
42 : 2024/10/16(水) 23:10:26.134 ID:tcrtLZ5VM
C++より速い事のソースは?
48 : 2024/10/16(水) 23:12:55.407 ID:XFVWA6+60
>>42
これ
https://youtu.be/uGVxwwokGIg?si=PMR6lqFLJY_xpNrj
100倍速い
45 : 2024/10/16(水) 23:11:20.293 ID:XFVWA6+60
てかC#のstringはヒープメモリなんだから遅いの当たり前では?引き出しそのまま開けるのと引き出しに入ってる宛先が書いた紙見て中身が入ってる引き出し探して引き出すの比べたら一目でしょ
46 : 2024/10/16(水) 23:12:00.222 ID:tcrtLZ5VM
>>45
可変長文字列でヒープ以外に保存してる言語はあるのか?
50 : 2024/10/16(水) 23:13:13.355 ID:XFVWA6+60
>>46
CやC++はcharだろ
54 : 2024/10/16(水) 23:14:00.908 ID:vP3M7X8Md
>>50
呼び方はチャーな
63 : 2024/10/16(水) 23:17:15.587 ID:tcrtLZ5VM
>>50
それって何か関係あるのか…?
>>48
ちゃんと見てないけどそもそもUnityに最適化された実行環境ならそりゃ速いよなとは思うし、UnityとUE5じゃ単純に内部実装が異なるのでC++とC#の比較になっていない
ゲームエンジンの比較でしかない
70 : 2024/10/16(水) 23:18:37.629 ID:XFVWA6+60
>>63
charはメモリに1byteだかの容量入ってるだろアホ
78 : 2024/10/16(水) 23:20:55.161 ID:tcrtLZ5VM
>>70
その容量をmallocやらでヒープ領域に確保するんだよ
プログラミングって難しいね
53 : 2024/10/16(水) 23:13:56.151 ID:Ecm3hwN6H
C#は言語仕様がRustよりダルい
今時classが存在するのがもうキツい
58 : 2024/10/16(水) 23:15:46.898 ID:XFVWA6+60
>>53
ClassじゃなくてStructのみに制限したのがUnityC#Burstなんだよなぁ
遅れてるのどっちだよとw
65 : 2024/10/16(水) 23:17:31.588 ID:Ecm3hwN6H
>>58
遅れてるとダメってのはダメ言語
こっちが充分賢くてチームメンバーも充分賢いことを仮定するならCで良い
60 : 2024/10/16(水) 23:15:59.735 ID:tLv4PFamM
>>53
それは言い過ぎ
Rustの借用とかの方が言語仕様としてダルいよ 有用だけど
64 : 2024/10/16(水) 23:17:16.695 ID:XFVWA6+60
>>60
ほんとそれ
しかも値型には通用しないというダブスタ言語だからなw
55 : 2024/10/16(水) 23:14:07.319 ID:bw4bF0N70
C++って言語仕様のマズさで大胆な最適化が難しいからな
C#の方が速いコードになるってもありえない話じゃないと思う
59 : 2024/10/16(水) 23:15:58.510 ID:XFVWA6+60
>>55
ほんとそれ
57 : 2024/10/16(水) 23:14:57.311 ID:Ecm3hwN6H
Null安全を外せるのもキツい
62 : 2024/10/16(水) 23:16:43.830 ID:XFVWA6+60
>>57
null許容型も無いと作るのめんどくさいよね
毎回nullチェックしてんの?
69 : 2024/10/16(水) 23:18:31.435 ID:Ecm3hwN6H
>>62
Nullを許容するとnullチェックが必要になるのでは?
74 : 2024/10/16(水) 23:19:36.570 ID:XFVWA6+60
>>69
ならないよnullで許容するから
79 : 2024/10/16(水) 23:21:04.513 ID:tLv4PFamM
>>69
それはそう
いちいちif文もめんどいので??とか使ったりな
66 : 2024/10/16(水) 23:17:35.251 ID:vP3M7X8Md
ぬるぽで落ちたら再起動すれば良いじゃんの精神
72 : 2024/10/16(水) 23:18:58.790 ID:86V0/kjJ0
言語同士の早い遅いってコンパイラの性能差だろ
アセンブラとマシン語はプログラマの腕だけど
73 : 2024/10/16(水) 23:19:09.211 ID:Ecm3hwN6H
いやnull許容ってoptionalのことか。それは必要
81 : 2024/10/16(水) 23:21:25.601 ID:vP3M7X8Md
UnityC#Burstって名前が
ほのかにダサいと感じるのは俺だけだろうか
84 : 2024/10/16(水) 23:24:02.387 ID:XFVWA6+60
>>81
まぁ実際はUnity Burst Compilerだからな
俺がわかりやすくUnityC#Burstって言ってるだけだから
83 : 2024/10/16(水) 23:23:20.786 ID:Ecm3hwN6H
UnityC#Burst、structに制限の意味が俺の意図しているものと違いそう
89 : 2024/10/16(水) 23:25:52.264 ID:XFVWA6+60
>>83
Classは使えないがStructは使える
つまり参照型ではなくて値型
すべてのメモリをMarshal.Copyして全てを動かす
つまりlock処理なども存在しない
まさに最強と言ったところか
94 : 2024/10/16(水) 23:27:47.891 ID:tcrtLZ5VM
>>89
物理的にC++に勝てないんじゃないのそれ
あと配列に並列でアクセスする場合たとえコピーだったとしてもロックかけなきゃ不整合起きるよ
86 : 2024/10/16(水) 23:24:14.045 ID:hBiOg8FX0
C#バカ専用 C++ひねくれ者専用

これでいいだろ

88 : 2024/10/16(水) 23:25:02.956 ID:vP3M7X8Md
>>86
知的な人間は何使うん?
90 : 2024/10/16(水) 23:26:10.241 ID:XFVWA6+60
>>86
だな
バカは実を取るわけよ
93 : 2024/10/16(水) 23:27:36.965 ID:hBiOg8FX0
Unityは情弱専用な
95 : 2024/10/16(水) 23:27:49.539 ID:ELhdBlWKM
C#のnull系の演算子 ?. ?? ??= のこいつら書くたびにキモいなって思う
C++の <=> といい勝負
97 : 2024/10/16(水) 23:30:44.825 ID:tLv4PFamM
>>95
?. ?? ??=はJavaScriptにも実装されたよな
キモいとも言ってられない

コメント

タイトルとURLをコピーしました