[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 05/08 05:31 / Filesize : 256 KB / Number-of Response : 1024
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

結局C++とRustってどっちが良いの? 7traits



1 名前:デフォルトの名無しさん mailto:sage [2023/08/31(木) 12:16:53.23 ID:dCL063sE.net]
C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」

っていう雑談スレ。

前スレ: 結局C++とRustってどっちが良いの? 6traits
mevius.5ch.net/test/read.cgi/tech/1690610746/

関連スレ(マ板): Google&Microsoft「セキュリティバグの70%はC/C++のメモリ管理ミス。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/

8 名前:デフォルトの名無しさん [2023/08/31(木) 13:20:21.68 ID:QKPa2t5y.net]
>>5
GPTの性能向上のスピードを舐めてはいけない
更にはRustでは不可能なデッドロックすら検出できる

9 名前:デフォルトの名無しさん [2023/08/31(木) 13:21:39.72 ID:QKPa2t5y.net]
GPTが開発ツールに統合されることで
Rustのセールスポイントの価値はなくなる

10 名前:デフォルトの名無しさん mailto:sage [2023/08/31(木) 13:22:06.11 ID:A3Yq0OZn.net]
動的ディスパッチはvtableを使った型による条件分岐で合ってるような

11 名前:デフォルトの名無しさん mailto:sage [2023/08/31(木) 13:26:30.09 ID:QKPa2t5y.net]
>>10
用語の使い方以外で双方の認識に齟齬はない
どうも用語の使い方に方言があるようだ

12 名前:デフォルトの名無しさん mailto:sage [2023/08/31(木) 13:27:09.24 ID:9dXqAvn4.net]
>>8
簡単で自明なデッドロックのよくある例が検出できただけであれは学習マッチングだよ
実用的じゃない
理論的にデッドロックの静的な検出は不可能なのは知っているよね?

13 名前:デフォルトの名無しさん [2023/08/31(木) 13:29:13.22 ID:QKPa2t5y.net]
>>12
>簡単で自明なデッドロックのよくある例が検出できただけであれは学習マッチングだよ
>実用的じゃない
そうなのかどうかは私も分からんので反例を1つ示して反駁してくれ

>理論的にデッドロックの静的な検出は不可能なのは知っているよね?
人間はできるよね? <- 反例

14 名前:デフォルトの名無しさん mailto:sage [2023/08/31(木) 13:34:06.16 ID:9dXqAvn4.net]
>>13
人間にもデッドロックの静的な検出はできません
そのため実行時のデッドロック検出ツールが使われています
この分野はGPTにも無理です

15 名前:デフォルトの名無しさん [2023/08/31(木) 13:39:30.11 ID:QKPa2t5y.net]
>>14
>人間にもデッドロックの静的な検出はできません
お前はソース見てもデッドロックをデバッグできないんだなw
「静的な検出」に限定する必要はないのだよ

16 名前:デフォルトの名無しさん mailto:sage [2023/08/31(木) 13:41:32.63 ID:lAaLgVee.net]
>>9
むしろGPT支援でRustが有利になった
GPT自体は安全性の保証をできなくて間違いも犯すけど
GPTへRustコンパイラを通すように指示すればRustコンパイラにより必ず安全性が保証される



17 名前:デフォルトの名無しさん mailto:sage [2023/08/31(木) 13:48:22.11 ID:QKPa2t5y.net]
まだ読んでない人もついてこれるように
>>12が学習マッチングと言ってるのは前スレの>>289だよ
mevius.5ch.net/test/read.cgi/tech/1690610746/
確かに検証したソースはシンプルで
1. ソースの規模が大きくなるとこれは検出できなくなるのか?
2. もしできなくなるとしたらどのくらいの大きさが限界なのか?
3. あるとしてその限界は実用的なのか?
など謎が多く興味深い

18 名前:デフォルトの名無しさん mailto:sage [2023/08/31(木) 13:49:39.59 ID:lAaLgVee.net]
>>15
デッドロックは簡単なものを除いて見つけるのが極めて難しくて
コードを解析してもデッドロックを見つけることは無理だと証明されてる分野
そのため検出デバッグコード入りでデッドロックが起きるまで実行させて検出しているのが現状
だからGPTも同じように長期間実行させないとデッドロックを見つけられない

デッドロックはロックの順序さえ決めて守れば発生しないので
ほとんどのプログラムはそうすることでデッドロックを回避してる

19 名前:デフォルトの名無しさん [2023/08/31(木) 13:51:16.54 ID:QKPa2t5y.net]
>>18
反例出しなよ
1個だよ

20 名前:デフォルトの名無しさん [2023/08/31(木) 14:19:56.37 ID:qE8kvwKZ.net]
今度はデッドロックで埋まるのか

21 名前:デフォルトの名無しさん mailto:sage [2023/08/31(木) 14:36:00.57 ID:8akA3y2j.net]
デッドロック検出の現実的な需要がないので無意味だな
各ロックの依存関係が階層構造となるよう制限して設計すればデッドロックは絶対に発生しない
実用的なプログラムにおいてその制限はなんら支障をもたらさない
つまりその制限を課すだけでデッドロック問題は発生することなく終わる

22 名前:デフォルトの名無しさん [2023/08/31(木) 14:46:26.78 ID:QKPa2t5y.net]
反例をあきらめたか
デッドロックの検出に限らず
GPTによるデバッガ(にも限らないが)の開発環境への統合は
今日のプログラミング言語に求められる要件を大きく変えるだろうね
Rustはこの先生きのこれるのだろうか?

23 名前:デフォルトの名無しさん mailto:sage [2023/08/31(木) 14:56:20.19 ID:cJGO4qoC.net]
GPTのおかげでRustだけが有利になってしまった
ミスもするが命令すれば何度でもやり直すGPT
必ず安全なコードのみを通すRustコンパイラ
この二つを組み合わせると必ず安全なコードを生成できる

24 名前:デフォルトの名無しさん mailto:sage [2023/08/31(木) 15:15:28.97 ID:qE8kvwKZ.net]
そういう異世界が有っても良いとは思うが
こっちの世界はそうじゃないしならなくても良いわ

25 名前:デフォルトの名無しさん mailto:sage [2023/08/31(木) 15:19:12.60 ID:W3nqyCpe.net]
>989
C++でもRustでも所有権を持つものがいなくなった時に自動的に解放される仕組み
所有権は移動(ムーブ)できるがC言語から所有権は当然やって来ない
だからCで確保したメモリがC++やRustで自動的に解放される危険はない

26 名前:デフォルトの名無しさん mailto:sage [2023/08/31(木) 15:36:45.71 ID:vuMs0nOC.net]
ひさしぶりにこのスレ見にきて
>>1 に完璧な結論が書いてあって吹いた



27 名前:デフォルトの名無しさん mailto:sage [2023/08/31(木) 16:26:48.65 ID:B9PGZ7xZ.net]
>>1
「Aに固執するのは老害、柔軟な若者はBを好む」などという
説はよくあるが、後者は、別の新製品が出てくれば、そっちに
移るので定着しないと言われている。なので、ターゲット層
としては気をつける必要があるとされる。

28 名前:デフォルトの名無しさん mailto:sage [2023/08/31(木) 16:36:45.32 ID:QVzwGMKd.net]
>>7
>しかしながら、Rust以外の言語に関しては、正当な批判を展開するのに十分な知識を持っているとは言いがたい。

Rustについても十分な知識なんて持っておらず
自信満々に間違ったこと書くから注意してね

29 名前:デフォルトの名無しさん [2023/08/31(木) 18:13:47.28 ID:Fp7risRc.net]
>>23
結局カットオフがあるんでアップデート後の内容に対応できてないように見えるけど。

30 名前:デフォルトの名無しさん [2023/08/31(木) 18:18:04.17 ID:Fp7risRc.net]
>>5
仕上げられる人間はそんなまどろこしいことしないよ
それにaiが劣化した途端詰みですね

31 名前:デフォルトの名無しさん mailto:sage [2023/08/31(木) 18:40:59.47 ID:3Z3eLBs1.net]
GPTにはコード生成だの検証だのくだらんことやらせてないで証明を生成させていけッ
ttps://leandojo.org/

32 名前:デフォルトの名無しさん [2023/09/01(金) 11:21:35.62 ID:8Q6o7DlX.net]
>>27
一理あるな
Nim やめて Codon とか
Rust やめて Mojo とか
言い始めてるし
https://twitter.com/Comamoca_/status/1669992610738634752
(deleted an unsolicited ad)

33 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 11:30:00.17 ID:8Q6o7DlX.net]
こんなツボ外し記事もある
https://kinsta.com/jp/blog/rust-vs-python/

34 名前:デフォルトの名無しさん [2023/09/01(金) 11:39:10.28 ID:8Q6o7DlX.net]
こっちの方がはるかにマシ
https://qiita.com/kenmaro/items/676139f04adb183037a9

35 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 12:19:56.36 ID:kkk5kcra.net]
QiitaとNimスレで話題に上がっていたダブル再帰フィボナッチなんだけど
ちょといじったらNimでRustの700倍速出た、もちろんチートなしで

36 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 12:35:29.32 ID:m6HesT0Y.net]
700倍も差が出れば簡単に原因わかるよね?



37 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 12:59:23.02 ID:kkk5kcra.net]
知らんけどgccとの相性が良いと言う話になっている、俺はwandbox回しただけだから

38 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 13:02:56.23 ID:kkk5kcra.net]
wandboxさらそうかと思って保存したけど
知恵付けさせたくないから自分でやれる人だけやれば良いよ

39 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 13:14:13.41 ID:04JNpieX.net]
チップベンダが提供するライブラリを使うのがだいたい さいつよ
…といいつつ、一度は・多少は、自分でやってみるのは基礎力が付く
ライブラリをおかしな風に呼ぶ・まわすことが減ると思う

そういや、OneAPIの近々の更新で、iccの同梱提供やめるっていってるから、
プロプラのコンパイラもひとつ押さえとくか…って思ってる人は、オフラインインストーラ取りに行っておくといいぞ
icc系やめて、dpcpp系に収束するとかだったと思う

ガセだったらごめそ 「登録を飛ばしてDL」ってのちゃんとあるからゆるしてちょ

40 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 13:48:11.87 ID:ICS2J+hp.net]
>>35
両方のコードウpキボン

41 名前:デフォルトの名無しさん [2023/09/01(金) 14:00:07.92 ID:8Q6o7DlX.net]
zig も良いな
https://www.youtube.com/watch?v=kRrxbRLWsBo

42 名前:デフォルトの名無しさん [2023/09/01(金) 14:02:01.75 ID:8Q6o7DlX.net]
>>40
ソース貼らない貼らない連呼する香具師がうるさいスレ
>>35 の理由は >>38 に描いてある

43 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 16:50:34.24 ID:tlI+G5Aw.net]
>>42
計算した項のオーダーは?

44 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 17:05:44.06 ID:HsHv4oLZ.net]
フィボナッチはヤツの縄張りだからな
ここで喧嘩を売ると何かと面倒だ

45 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 17:24:24.66 ID:ftOUUIl5.net]
wandboxでやったら>>32のcodonのZenn記事は3年以上古いgcc使っているっぽい

g++ 14.0.0 (HEAD)
ackermann(3, 11) = 16381
elapsed time: 57 [ms]

g++ 9.3.0 (March 12, 2020)
ackermann(3, 11) = 16381
elapsed time: 134 [ms]

clang++ 18.0.0 (HEAD)
ackermann(3, 11) = 16381
elapsed time: 156 [ms]

46 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 17:31:47.41 ID:ftOUUIl5.net]
>>45
3, 11はコマンドライン引数にしてある

>>43
>>35-37だけど42は別人だ
44
不便すまない、詳細は元のQiita記事かレスをたどってくれ



47 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 17:36:10.48 ID:ftOUUIl5.net]
>>35
タイムを一応書いておく
Rustのwandboxが見当たらないからclang比較で1.6秒として
改良Nimは0.0022~0.0023秒が出たので700倍

48 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 17:41:20.75 ID:+8P4VWnQ.net]
数倍の差ならともかく700倍ともなるとネイティブ同士の言語で発生する差じゃないからな
コードがまともじゃないか比較方法がまともじゃないのは明らか
いちいち中身を見る必要もない

49 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 17:54:14.28 ID:ftOUUIl5.net]
>>48
来ると思った
だから改良Nimのwandbox貼るのやめた

50 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 18:37:56.38 ID:1ff+BwiP.net]
フィボナッチ全盛期の荒れようでも貼っとくか
https://mevius.5ch.net/test/read.cgi/tech/1652347700/

51 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 18:41:52.45 ID:1ff+BwiP.net]
おじさんが出没してた過去スレって
C++ vs Rust
ワッチョイなしのほうの次世代言語スレ
ワッチョイなし時代のC++相談室
あと何があったっけ

52 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 18:42:24.54 ID:ZzB4GlH6.net]
>C(gcc)よりNimが3倍も速い

Nimがおかしい

53 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 18:56:13.90 ID:c+J4ltwv.net]
そうやな
るstより早いはともかくcより3倍早いはなんかインチキはいってるくさい

54 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 20:48:12.17 ID:eJ5UCtcA.net]
Nimすげーな。
最新の情報科学を総力して作られたNimだから
Rustより700倍、Cより3倍も速く出来たんだろ。
で、10年後にはさらにすごい言語が出ているんだろうが

55 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 21:00:39.20 ID:rDAe3h1F.net]
アルゴリズムまで最適化するんだろうか?

56 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 21:03:10.49 ID:c+J4ltwv.net]
Nim「なんじゃこのトロくさいコード?こうした方が何倍も早いと分からん?手間かけさせやがって」



57 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 21:04:42.86 ID:ABczp9XP.net]
コードを見ないとなんとも言えんが、Nimの方はループにでも展開したんじゃない?
cは最適化無しとか。

58 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 21:05:59.18 ID:rDAe3h1F.net]
nimが吐いたcのコード見ればわかる

59 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 21:20:44.34 ID:eJ5UCtcA.net]
>>58
人間が理解できないすごいコードを吐き出しているんじゃないのか

60 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 22:00:52.55 ID:rDAe3h1F.net]
そんなに癖が強いのか

61 名前:デフォルトの名無しさん mailto:sage [2023/09/02(土) 05:51:36.66 ID:IbJ1Mk2a.net]
トランスパイラが、想定以上に事前計算を進めちゃうんじゃないかw

62 名前:デフォルトの名無しさん mailto:sage [2023/09/02(土) 06:06:22.50 ID:pS+S9F7F.net]
まともなベンチマークでは静的な事前計算ができないようにする
だからそんなことは起きない

63 名前:デフォルトの名無しさん [2023/09/02(土) 09:44:56.85 ID:Mt6Fp/v3.net]
=T=i=k=T=o=k(←迷惑でしたらこちらをNGしてください。)

更にご家族にも紹介して、追加で¥3500を入手できる
https://i.imgur.com/EIoUA4P.jpg

64 名前:デフォルトの名無しさん mailto:sage [2023/09/02(土) 11:03:33.99 ID:JuhwvQNt.net]
>>63
もう現金化してアンインスコしてる。

65 名前:デフォルトの名無しさん mailto:sage [2023/09/02(土) 21:58:35.01 ID:HCZF/or7.net]
>>35
C/gccのダブル再帰の最適化本気スイッチの入れ方わかった
全てローカル、(Cは)C++chrono計測、Nimはcputicks

ダブル再帰最適化本気スイッチ版C
C/gcc
Time= 1.176ms fib_c_trigger(44)= 701408733
Time= 1.782ms fib_c_trigger(45)= 1134903170
Time= 2.424ms fib_c_trigger(46)= 1836311903
Time= 3.090ms fib_c_trigger(47)= 2971215073
Time= 3.873ms fib_c_trigger(48)= 4807526976
Time= 5.365ms fib_c_trigger(49)= 7778742049
Time= 7.337ms fib_c_trigger(50)= 12586269025
Time= 10.149ms fib_c_trigger(51)= 20365011074
Time= 13.961ms fib_c_trigger(52)= 32951280099
Time= 18.983ms fib_c_trigger(53)= 53316291173
Time= 26.660ms fib_c_trigger(54)= 86267571272
Time= 36.483ms fib_c_trigger(55)=139583862445
Time= 50.876ms fib_c_trigger(56)=225851433717
Time= 70.201ms fib_c_trigger(57)=365435296162

66 名前:デフォルトの名無しさん mailto:sage [2023/09/02(土) 22:00:43.37 ID:HCZF/or7.net]
本気スイッチ版Cは不自然な書き方になるが再帰コール二つはループ化したりしていなくて
gccの何かの最適化が本気モードになる

改良Nim
Nimはキレイなシンプル再帰のままでここまで出る
Nim/gcc
Time= 1.368ms fib_nim(44)= 701408733
Time= 1.634ms fib_nim(45)= 1134903170
Time= 2.255ms fib_nim(46)= 1836311903
Time= 3.121ms fib_nim(47)= 2971215073
Time= 4.261ms fib_nim(48)= 4807526976
Time= 5.989ms fib_nim(49)= 7778742049
Time= 8.224ms fib_nim(50)= 12586269025
Time= 11.304ms fib_nim(51)= 20365011074
Time= 15.644ms fib_nim(52)= 32951280099
Time= 22.103ms fib_nim(53)= 53316291173
Time= 31.147ms fib_nim(54)= 86267571272
Time= 41.306ms fib_nim(55)=139583862445
Time= 58.134ms fib_nim(56)=225851433717
Time= 78.528ms fib_nim(57)=365435296162



67 名前:デフォルトの名無しさん mailto:sage [2023/09/02(土) 22:02:10.21 ID:HCZF/or7.net]
本気スイッチ版Cでもclangでは遅いまま

C/clang
Time=1438.212ms fib_c_trigger(44)= 701408733
Time=2310.675ms fib_c_trigger(45)= 1134903170
Time=3746.923ms fib_c_trigger(46)= 1836311903
Time=6040.876ms fib_c_trigger(47)= 2971215073
Time=9779.249ms fib_c_trigger(48)= 4807526976
Time=15877.302ms fib_c_trigger(49)= 7778742049
Time=26151.375ms fib_c_trigger(50)= 12586269025
Time=42241.553ms fib_c_trigger(51)= 20365011074
Time=67936.930ms fib_c_trigger(52)= 32951280099
Time=110828.012ms fib_c_trigger(53)= 53316291173
Time=176305.471ms fib_c_trigger(54)= 86267571272
SIGINT: Interrupted by Ctrl-C.
推定
55 --> 287秒
56 --> 463秒
57 --> 750秒

68 名前:デフォルトの名無しさん mailto:sage [2023/09/02(土) 22:03:36.41 ID:HCZF/or7.net]
シンプル再帰版 C/gcc
Time= 625.499ms fib_c_simple(44)= 701408733
Time= 995.294ms fib_c_simple(45)= 1134903170
Time=1568.026ms fib_c_simple(46)= 1836311903
Time=2497.401ms fib_c_simple(47)= 2971215073
Time=4059.698ms fib_c_simple(48)= 4807526976
Time=6563.932ms fib_c_simple(49)= 7778742049
Time=10696.766ms fib_c_simple(50)= 12586269025
Time=18117.324ms fib_c_simple(51)= 20365011074
Time=30850.988ms fib_c_simple(52)= 32951280099
SIGINT: Interrupted by Ctrl-C.

シンプル再帰版 C/Clang
Time=1556.296ms fib_c_simple(44)= 701408733
Time=2491.174ms fib_c_simple(45)= 1134903170
Time=4019.549ms fib_c_simple(46)= 1836311903
Time=6543.637ms fib_c_simple(47)= 2971215073
Time=10584.639ms fib_c_simple(48)= 4807526976
Time=17254.294ms fib_c_simple(49)= 7778742049
Time=27799.040ms fib_c_simple(50)= 12586269025
Time=45090.030ms fib_c_simple(51)= 20365011074
Time=73155.917ms fib_c_simple(52)= 32951280099
SIGINT: Interrupted by Ctrl-C.

nim 2.0.0
gcc 13.2.0
clang 16.0.5

69 名前:デフォルトの名無しさん mailto:sage [2023/09/02(土) 23:49:38.43 ID:soXXGfaw.net]
コードも出ず一般的な副作用のある問題への適用可能性もわからないが
速度が必要なところでは始めからループを使い再帰は通常使われない
今回のような問題ならメモ化の方が高速化に対して効果的
さらにフィボナッチ漸化式の場合はそのまま二つ分のみのメモ化としレジスタ(ローカル変数)で演算していくようにプログラミングするのが常識

70 名前:デフォルトの名無しさん [2023/09/03(日) 01:40:05.47 ID:FNjdjIYP.net]
>>69
それ今回の目的と手段が逆じゃね?
今回のは、より高速なフィボナッチが目的じゃなく、速度計測の一つの手段として再帰のフィボナッチを使ってるんじゃね?

71 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 02:08:27.39 ID:qv2yXMke.net]
言語の速度計測でフィボナッチを使うのは無意味となるためやるべきでない

ダブル再帰の計算量O(1.6^n)をどこまでアルゴリズム変換して計算量をどこまで減らせるかは言語の優劣と関係ない
フィボナッチの場合は究極的にO(n)にすることもできるが汎用的ではなくこれを言語が頑張っても意味がない
>>66もまだO(n)になっておらずさらなる改善の余地が大いにあるが仮にその対応をしてもその言語が速いことにならない

計算量を激減可能なアルゴリズムで言語間の速度を計測しても意味がない

72 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 02:23:40.00 ID:Mb6+Xv4j.net]
じゃあお前はこの話についてこなくていいよ

73 名前:デフォルトの名無しさん [2023/09/03(日) 02:32:28.82 ID:YnA1A/h9.net]
5ch は中毒性あるからホドホドにね

74 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 02:35:49.88 ID:KbrggjTt.net]
NimがCの3倍速いという話はそういうことだったのか
まともなベンチだとNimは遅くてNimを使う意義ないもんな

75 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 08:30:48.70 ID:nC5slhbh.net]
違うアルゴリズムで組んで速度比較したって事?

76 名前:デフォルトの名無しさん [2023/09/03(日) 09:13:46.86 ID:wSmhXuqb.net]
再帰とかじゃなくてコンパイラとかリンカとかの実用的なプログラムで同じロジックでコード書いたときに、CよりNimの方が最適化すごかったりするの?

仮にそうなら競プロでなんでnimがもっと流行らないんだろう



77 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 09:28:46.76 ID:Bq21XdKC.net]
>>75
逆にそれ以外で700倍の差をつける方法あるのか?

78 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 09:32:31.02 ID:TsOYddoh.net]
実用的なプログラムではNimが遅い

79 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 09:35:19.44 ID:36B6WYNv.net]
違うアルゴリズムで比較とかあまりにも想像絶する

80 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 09:44:59.77 ID:yS6lNlyW.net]
コンパイル時にほとんどを解決してたってこと?

81 名前:デフォルトの名無しさん [2023/09/03(日) 11:51:45.92 ID:FrdsG3go.net]
結局この種の速度なんてメモリに触る部分をどれくらいカスタマイズできるか、しなきゃならんかって
話なわけで、
その辺いじってないバカほどベンチガーになる。

82 名前:デフォルトの名無しさん [2023/09/03(日) 13:07:12.78 ID:jFAGdbdC.net]
フィボナッチなんてキャッシュすると(メモリ触れば触るほど)速くなるだろ

83 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 13:20:45.65 ID:gAcx4cQI.net]
>>82
それは遅くなる
f(n)の計算のためにf(0)からf(n-1)までn個のメモリをメモ化で使うのと
nを順に大きくして行きメモ化は常にf(n-1)とf(n-2)の2個のみのメモリ(レジスタも可)を使うのと
どちらが速いと思う?

84 名前:デフォルトの名無しさん [2023/09/03(日) 13:46:53.98 ID:jFAGdbdC.net]
nはランダムに指定するんじゃなくて必ず順に取り出すルール?
そんなの使い物にならんで

85 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 13:59:25.38 ID:gAcx4cQI.net]
当然nはランダムに一つのみ指定される

86 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 15:10:52.83 ID:Ejn6d0t5.net]
まーた複オジが壮大な勘違いをして頓珍漢な自説唱えてるよw



87 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 16:55:12.08 ID:Wq0bTRWQ.net]
問題を勝手に決めて自分に都合の良い解釈だけで突っ走る人だから議論が成立しないよね

88 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 18:15:12.53 ID:EkQ0UVka.net]
Rustの悪口は許せないんだろうな

89 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 18:41:52.70 ID:10lidGqP.net]
今回のはRustと全然関係ないような

90 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 19:09:26.28 ID:tfuye9ZX.net]
>>84
元記事でもこのスレでもnはランダムでもなんでも関数に渡ってくる引数だよ
そのフィボナッチ計算のアルゴリズムは最適化できれば自由で途中の計算のメモ化もアルゴリズムの範疇で自由だよ
ただし関数だから以前に呼ばれた時の計算結果のメモ利用だけはダメ
それを許したらconstexprでメモつくっておいて即答になり計算測定の意味なくなるからね

91 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 20:45:15.50 ID:i7VVLiaz.net]
>>35だけど
メモ化とかしていない
asmレベルは知らないけど増加度を見れは推測はつく

92 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 20:53:12.27 ID:i7VVLiaz.net]
煽れば情報が出てくると思っている輩が多いな

>>90
実際に試したのかどうかまでは読み取れないけど、記事は見たようで何より

93 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 20:58:09.55 ID:cN0hXvga.net]
軽く煽った後は、本業に戻る、だよ 急がないし

94 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 22:52:15.27 ID:68eKICn8.net]
>>89
Rustと関係ない話をしていても心は常にRustが憎いからさ

95 名前:デフォルトの名無しさん [2023/09/04(月) 07:41:36.53 ID:ytoGFs4j.net]
>>83
>>85
IDかぶってんの?自演バレ?

96 名前:デフォルトの名無しさん [2023/09/04(月) 16:41:39.63 ID:6SDqroOn.net]
C言語の高速化のしやすさは半端じゃないな。ただ、Rustと違って時々メモリの解放忘れとかでやらかすのはあれだけだど。
gcc -O3 -march=nativeってすると爆速だもんな。Rustでこれに対応するのはあんのかな?cargo run --releaseでもgccの最適化に比べるとかなり物足りなく感じる。



97 名前:デフォルトの名無しさん mailto:sage [2023/09/04(月) 17:35:48.90 ID:JbdU2FRK.net]
LLVMベースなんだから、そのうち同等か近いところまでくるでしょ

98 名前:デフォルトの名無しさん mailto:sage [2023/09/04(月) 18:26:01.51 ID:5oeNnUkL.net]
Rustのsafeモードでは効率よく使えないアルゴリズム
がある。
また、その場合、関数の中にunsafeを閉じ込めることも
不可能であることが分かっている。
ここの人は馬鹿なので理解できないので説明しない。

99 名前:デフォルトの名無しさん mailto:sage [2023/09/04(月) 18:44:20.41 ID:ag4slkxg.net]
だめじゃん

100 名前:デフォルトの名無しさん mailto:sage [2023/09/04(月) 18:54:40.00 ID:fLDaY/zR.net]
「safeモード」
この言葉だけで理解してないのが分かるよね

101 名前:デフォルトの名無しさん mailto:sage [2023/09/04(月) 19:05:16.04 ID:SW/WF2bi.net]
他人の無能を強調するタイプのコミュニケーションやめたほうがいいよ

102 名前:デフォルトの名無しさん mailto:sage [2023/09/04(月) 19:14:49.30 ID:Y/5CznFq.net]
>>98
いつもの嘘つき登場か

103 名前:デフォルトの名無しさん mailto:sage [2023/09/04(月) 20:11:29.90 ID:h0MJ6cwW.net]
>>98
ソースプリーズ
根拠がなきゃ他人は説得できない

104 名前:デフォルトの名無しさん [2023/09/05(火) 00:55:10.57 ID:6M2Epndy.net]
俺は趣味だからC++で良いよ。仕事で使うわけではないし。
AppleとかGoogleとかMicrosoftが使っているとか関係ねえ。

105 名前:デフォルトの名無しさん mailto:sage [2023/09/05(火) 01:14:55.37 ID:c+OS/OAh.net]
>>98
あなたがC++でソースを例示してここの人達にRustで書けるか
挑戦者を求めれば良いだけでは?
「説明しない」では誰にもさっぱり伝わらん

106 名前:デフォルトの名無しさん mailto:sage [2023/09/05(火) 01:42:09.14 ID:I0sPE9P+.net]
Rustスレでコテンパンにされたのがそんなに堪えたかw



107 名前:デフォルトの名無しさん mailto:sage [2023/09/05 ]
[ここ壊れてます]

108 名前:(火) 04:59:27.85 ID:/p9Vc2Wd.net mailto: お前らにはわかるまい、ってよくマンガで悪役が言うけどさ、

そう言ってる間に基礎鍛錬するから、高尚なことはいまはいいや
[]
[ここ壊れてます]






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<256KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef