「C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」
っていう雑談スレ。
前スレ: 結局C++とRustってどっちが良いの? 2traits
https://mevius.5ch.net/test/read.cgi/tech/1680363777/
関連スレ(マ板): Google&MS「バグの70%はC/C++。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
探検
結局C++とRustってどっちが良いの? 3traits
■ このスレッドは過去ログ倉庫に格納されています
2023/05/04(木) 07:49:56.33ID:z+qB+AKQ
>>226
素数に関して突っ込んでいえば、素数の定義と素数の性質=すべての自然数は素数の積で一意に表現できる、との間には大きなギャップがあるのに、それがあまり意識されていないのが問題
素数に関して突っ込んでいえば、素数の定義と素数の性質=すべての自然数は素数の積で一意に表現できる、との間には大きなギャップがあるのに、それがあまり意識されていないのが問題
229デフォルトの名無しさん
2023/05/07(日) 21:25:03.91ID:/qC6ccnK230デフォルトの名無しさん
2023/05/07(日) 21:34:18.83ID:IEgposGn231デフォルトの名無しさん
2023/05/07(日) 22:10:30.80ID:HMVW7dad バイアスがあった可能性を否定できない っていうんなら逆方向も否定できないだろうに、なんでこのおじいちゃんは片方にだけ肩入れするん?
不自然ですよ
不自然ですよ
232デフォルトの名無しさん
2023/05/08(月) 00:59:11.95ID:abS4z/F4 最大の問題は rustの利用者が何でこんなに少ないかだな
ただ これには複案があって おそらくは C ++から 移ってきたやつらがrustをやってると思われる
すると rustの標榜する モットーにも合致すると思われる
ただ これには複案があって おそらくは C ++から 移ってきたやつらがrustをやってると思われる
すると rustの標榜する モットーにも合致すると思われる
233デフォルトの名無しさん
2023/05/08(月) 01:13:16.38ID:abS4z/F4 もう出ている通りに この問題を最速で解く 機械語 は存在するので
あと疑うべきは 入出力のオーバーヘッドだけになる
メインのアルゴリズム やら ロジック やらが同じなら
遅くしている要因は 入出力だ
あと疑うべきは 入出力のオーバーヘッドだけになる
メインのアルゴリズム やら ロジック やらが同じなら
遅くしている要因は 入出力だ
234デフォルトの名無しさん
2023/05/08(月) 01:15:13.32ID:ddy6A8qL235デフォルトの名無しさん
2023/05/08(月) 02:06:52.10ID:A57Tkf07 C++のほうが機能が多いので、使える人はC++を使うからだろ
236デフォルトの名無しさん
2023/05/08(月) 02:33:43.51ID:ocGLFPvg 機能の差の比較は難しいが
言語自体で様々な安全保証をするRustの機能が本質的に大きいかな
言語自体で様々な安全保証をするRustの機能が本質的に大きいかな
237デフォルトの名無しさん
2023/05/08(月) 02:37:25.24ID:A57Tkf07 C/C++の90%のコードが危険というような話は
9割が20年以上前に書かれているだけで
最近のマナーで書けば済む話では
9割が20年以上前に書かれているだけで
最近のマナーで書けば済む話では
238デフォルトの名無しさん
2023/05/08(月) 03:00:18.94ID:ocGLFPvg IT大手各社が揃って同じ判断をした
C++では無理なので新たなシステムからRustを採用
そしてRust Foundationを共同で立ち上げた
さらに既存のWindows、Linux、AndroidなどもRustの採用を開始
C++では無理なので新たなシステムからRustを採用
そしてRust Foundationを共同で立ち上げた
さらに既存のWindows、Linux、AndroidなどもRustの採用を開始
239デフォルトの名無しさん
2023/05/08(月) 03:33:40.76ID:A57Tkf07 そんなこと言ったらJavaの採用も開始してるしC/C++なんか大昔から採用を開始してるだろ
240デフォルトの名無しさん
2023/05/08(月) 03:48:41.01ID:42N5+bFw 非GC言語として絶対的な王道を確立したC++が存在するにも関わらず、
新たな部分からC++ではなくRustを採用し始めたことに重い意味があるのでしょう。
しかも競合ライバル同士が同じ判断をした点も非常に重い意味があるのでしょう。
そのため正しい判断をした可能性が極めて高いでしょう。
新たな部分からC++ではなくRustを採用し始めたことに重い意味があるのでしょう。
しかも競合ライバル同士が同じ判断をした点も非常に重い意味があるのでしょう。
そのため正しい判断をした可能性が極めて高いでしょう。
241デフォルトの名無しさん
2023/05/08(月) 04:02:39.80ID:yn6KTAlC C++は死ぬべきだけど、後釜がRustでいいかはわからんわ
コストかけて置き換えるなら最高の言語がいいしな
コストかけて置き換えるなら最高の言語がいいしな
242デフォルトの名無しさん
2023/05/08(月) 04:21:48.93ID:c35xMa4f Rustの書きやすさは気に入ったね
次の言語はコンパイラが様々な保証をする点を押さえた上で、Rustが取り込めないような別の新たな画期的な機能を持たないといけない
他に芽が現状ないからこのままRustで進みそう
次の言語はコンパイラが様々な保証をする点を押さえた上で、Rustが取り込めないような別の新たな画期的な機能を持たないといけない
他に芽が現状ないからこのままRustで進みそう
243デフォルトの名無しさん
2023/05/08(月) 04:29:17.13ID:PP0yxCHU この流れなら言える
cpp2を知らなかったなんて言えない
cpp2を知らなかったなんて言えない
244デフォルトの名無しさん
2023/05/08(月) 08:23:06.69ID:eWwLSdkD 実際のところ、将来的に最適化はAIがやるようになって、要件定義と検証だけ人間がやるようになるんだろ。
設計自動化の流れだわな。
そうなってくると実装を人間がやる状況は限定されて、言語もIDLみたいになってくるかと。土方コーダーは全滅だな。
まぁ、c++はCOBOLみたいに過去資産メンテに、Rustはpostscriptみたいにバックエンドで生き残る可能性はあるけど。
設計自動化の流れだわな。
そうなってくると実装を人間がやる状況は限定されて、言語もIDLみたいになってくるかと。土方コーダーは全滅だな。
まぁ、c++はCOBOLみたいに過去資産メンテに、Rustはpostscriptみたいにバックエンドで生き残る可能性はあるけど。
245デフォルトの名無しさん
2023/05/08(月) 09:34:04.39ID:mYRj0CUt >>244
AIにとっても機械語を直接吐くのは保守性が悪すぎる
一方で少なくとも当面は人間が検証できる既存のプログラミング言語になりそう
万が一の時の対応や問題把握のためにも既存の言語が良さそう
インフラは人間がある程度把握し続けないとAIに主導権を奪われかねない点でも同じ
使われる言語は自動的に色々と保証されるRustになるのかな
AIにとっても機械語を直接吐くのは保守性が悪すぎる
一方で少なくとも当面は人間が検証できる既存のプログラミング言語になりそう
万が一の時の対応や問題把握のためにも既存の言語が良さそう
インフラは人間がある程度把握し続けないとAIに主導権を奪われかねない点でも同じ
使われる言語は自動的に色々と保証されるRustになるのかな
246デフォルトの名無しさん
2023/05/08(月) 10:33:58.34ID:faKRd8TS 人命や経済損失に大きく関わるシステムは責任や論理的な信頼性の観点からAIに頼るのは無理そうだね。
247デフォルトの名無しさん
2023/05/08(月) 10:45:11.11ID:iczXOFhv AIはTDD(人間がテストコード書いてAIが実装コード書く)と相性いいかなって思ったけど
絶妙にテストケースだけパスするようなコード吐いてきそうで怖い
人間的な一般化パターンを学習すれば使えそうだけど現状だとコピペミキサーでしょ
絶妙にテストケースだけパスするようなコード吐いてきそうで怖い
人間的な一般化パターンを学習すれば使えそうだけど現状だとコピペミキサーでしょ
248デフォルトの名無しさん
2023/05/08(月) 11:29:16.24ID:Kh0HUP9F AIがどうとか関係無いはずなんだが
Rustのここがダメ!みたいなことを書くと必死でレスしてくれる人がいるから無限に話を脱線させることができるんだね
Rustのここがダメ!みたいなことを書くと必死でレスしてくれる人がいるから無限に話を脱線させることができるんだね
249デフォルトの名無しさん
2023/05/08(月) 11:46:17.60ID:PotcPEgC .gitignore に Cargo.lock を入れてるのに
cargo publish すると Cargo.lock もうpされる
github の方にはもちろんうpされていない
cargo publish --allow-dirty は本気で要らないものまでうpされるからこれはやってないのだが
cargo publish すると Cargo.lock もうpされる
github の方にはもちろんうpされていない
cargo publish --allow-dirty は本気で要らないものまでうpされるからこれはやってないのだが
250デフォルトの名無しさん
2023/05/08(月) 12:11:03.58ID:Re0hEQKj AIに書いてもらうプログラミング言語はC++かRustになるんだろうが、
C++でプログラムの本質でない部分の隙を残すよりも、
コンパイルが通れば静的にその部分が自動検証されるRustになるんだろうな
C++でプログラムの本質でない部分の隙を残すよりも、
コンパイルが通れば静的にその部分が自動検証されるRustになるんだろうな
251デフォルトの名無しさん
2023/05/08(月) 12:16:11.80ID:PotcPEgC >>174
すばらC洞察
すばらC洞察
252デフォルトの名無しさん
2023/05/08(月) 12:31:11.67ID:B7yn02Wa253デフォルトの名無しさん
2023/05/08(月) 12:43:44.96ID:PotcPEgC254デフォルトの名無しさん
2023/05/08(月) 12:43:46.40ID:iczXOFhv >>249
内部で呼ばれるcargo packageの仕様っぽいね
https://doc.rust-lang.org/cargo/commands/cargo-package.html
の2.でCargo.lockを含める条件が書かれてる
excludeで強引に外せるのかな
内部で呼ばれるcargo packageの仕様っぽいね
https://doc.rust-lang.org/cargo/commands/cargo-package.html
の2.でCargo.lockを含める条件が書かれてる
excludeで強引に外せるのかな
255デフォルトの名無しさん
2023/05/08(月) 12:48:52.30ID:PotcPEgC >>228
全ての素数の積でπを造る公式あるな
全ての素数の積でπを造る公式あるな
256デフォルトの名無しさん
2023/05/08(月) 12:50:45.02ID:PotcPEgC257デフォルトの名無しさん
2023/05/08(月) 12:56:17.27ID:yn6KTAlC Rustの検証や推論ってAIの役に立つか?というか役に立つようなAIを作るべきか?
それらもコンパイラではなくAIが判断するようにしたほうがよくないか?
それらもコンパイラではなくAIが判断するようにしたほうがよくないか?
258デフォルトの名無しさん
2023/05/08(月) 12:57:11.50ID:PotcPEgC thx!
259デフォルトの名無しさん
2023/05/08(月) 13:48:29.03ID:imilCHLn 今話題になってるAIは緻密な整合性検証できるというよりも、人間の雑な問いに「らしい」答えを返してくれる感じだから、コンパイラ側の緻密な推論とかは引き続きやっていく必要あんじゃねえの。
260デフォルトの名無しさん
2023/05/08(月) 14:22:47.81ID:yn6KTAlC261デフォルトの名無しさん
2023/05/08(月) 15:04:56.15ID:eTYn8zaL >>245
AIにRustのコード吐かせる理由なんて無いよね
AIにRustのコード吐かせる理由なんて無いよね
262デフォルトの名無しさん
2023/05/08(月) 15:39:48.45ID:pZhRtbOb Rust急進派によると、rustcをパスするコードは自動的に与信できるらしいので
263デフォルトの名無しさん
2023/05/08(月) 15:42:47.04ID:QcAzVd3l 速度は、1%位の差になってくると、コンパイラの最適化能力に依存するが、
Rustはrustcの強力なLLVMを使っているのに、C++は、LLVMのclangを
使えばいいのになぜかgccを使っていたりするのもおかしい。
Rustはrustcの強力なLLVMを使っているのに、C++は、LLVMのclangを
使えばいいのになぜかgccを使っていたりするのもおかしい。
264デフォルトの名無しさん
2023/05/08(月) 16:19:16.98ID:SySGd/wN265デフォルトの名無しさん
2023/05/08(月) 16:35:56.27ID:x8c+D5IZ >>263
llvmの方がgccより性能良くなった?
llvmの方がgccより性能良くなった?
266デフォルトの名無しさん
2023/05/08(月) 16:41:27.47ID:NDGne9Ur >>265
12年前から既にclangの方が速いです:
https://stackoverflow.com/questions/3187414/clang-vs-gcc-which-produces-faster-binaries
12年前から既にclangの方が速いです:
https://stackoverflow.com/questions/3187414/clang-vs-gcc-which-produces-faster-binaries
267デフォルトの名無しさん
2023/05/08(月) 17:24:13.85ID:dxF1xGv4 >>264
仕様を自分で書く
仕様を満たしてるかどうかを確認するテストを機械に書かせる
テストが正しいがどうか人間がレビューする
テストをパスするコードを機械に書かせる
この繰り返し
機械にやらせてるところは今はベンダーに外注してる作業
抽象度が低くパターン化しやすい仕事ほど高い信頼度で機械化しやすい
仕様を自分で書く
仕様を満たしてるかどうかを確認するテストを機械に書かせる
テストが正しいがどうか人間がレビューする
テストをパスするコードを機械に書かせる
この繰り返し
機械にやらせてるところは今はベンダーに外注してる作業
抽象度が低くパターン化しやすい仕事ほど高い信頼度で機械化しやすい
268デフォルトの名無しさん
2023/05/08(月) 18:43:10.50ID:A57Tkf07 >>266
その手の話は信用ならねえな
その手の話は信用ならねえな
269デフォルトの名無しさん
2023/05/08(月) 20:09:42.31ID:tptm3XCm270デフォルトの名無しさん
2023/05/08(月) 22:23:28.00ID:Sk4xBlmq271デフォルトの名無しさん
2023/05/08(月) 22:48:34.95ID:23L22zMg そんな上位の仕様を渡すだけで内部設計も何でも自動でやってくれるAIは当分来ない
学習して曖昧パターンで答えてくれる方のAIは論理的思考がまるでダメ
論理的な方のAIは厳密に指定し尽くさないと適当に補完してやってくれない
根本的に180度違うから融合の見通しもない
学習して曖昧パターンで答えてくれる方のAIは論理的思考がまるでダメ
論理的な方のAIは厳密に指定し尽くさないと適当に補完してやってくれない
根本的に180度違うから融合の見通しもない
272デフォルトの名無しさん
2023/05/09(火) 02:35:37.18ID:roDNqhiB 公開したcrateの要らなくなった古いバージョンとか消したくても消せないのか
githubよりタチが悪いな
他から参照してると仕方ないのが判るが
管理システムとして破綻してないかこれ
githubよりタチが悪いな
他から参照してると仕方ないのが判るが
管理システムとして破綻してないかこれ
273デフォルトの名無しさん
2023/05/09(火) 02:55:17.89ID:oJhOeTc4 yank
274デフォルトの名無しさん
2023/05/09(火) 03:40:24.06ID:LWOtm1Dy >>268
gccとclangのどちらの最適化が優れているかは誰にも分からないので、
その影響をなくすためにも、rustc と 比較すべきは gcc ではなく、clang
ということになるわけです。なので、今後ベンチマークを取る際には、
rustc vs clang で行かないと意味が有りません。
gccとclangのどちらの最適化が優れているかは誰にも分からないので、
その影響をなくすためにも、rustc と 比較すべきは gcc ではなく、clang
ということになるわけです。なので、今後ベンチマークを取る際には、
rustc vs clang で行かないと意味が有りません。
275デフォルトの名無しさん
2023/05/09(火) 06:12:08.21ID:CM93Ewnl そのように同じくLLVMを使ってコンパイルしても
>>178のように言語仕様が原因でC++が遅くなりRustが速くなる事例があるんだよな
>>178のように言語仕様が原因でC++が遅くなりRustが速くなる事例があるんだよな
276デフォルトの名無しさん
2023/05/09(火) 07:51:20.97ID:roDNqhiB yankしても消えないやん?
277デフォルトの名無しさん
2023/05/09(火) 08:28:08.83ID:cNhnBb7C いくらC++が速いといっても、ちゃんと書かないと速度は出ない
当たり前の事実と向き合うべき時期が来ているようだなw
当たり前の事実と向き合うべき時期が来ているようだなw
278デフォルトの名無しさん
2023/05/09(火) 09:22:12.89ID:E9TE6Urv プログラミングは能力差が激しいからな
C++を使おうが遅いプログラムが出来上がってしまう人たちも多いが本人自身はなかなか気付けない
Rustだとそれが顕著に出るのでわかりやすい
入門初期は仕方ないがその後もRustを難しいとか面倒とか言ってる人たちは能力の低いプログラマーだけ
C++を使おうが遅いプログラムが出来上がってしまう人たちも多いが本人自身はなかなか気付けない
Rustだとそれが顕著に出るのでわかりやすい
入門初期は仕方ないがその後もRustを難しいとか面倒とか言ってる人たちは能力の低いプログラマーだけ
279デフォルトの名無しさん
2023/05/09(火) 10:03:50.18ID:MyUREp4F vec!とか使い捲ってると便利過ぎて
コピーされてるのか所有者移動してるのか意識してない人は遅くなりがち
コピーされてるのか所有者移動してるのか意識してない人は遅くなりがち
280デフォルトの名無しさん
2023/05/09(火) 10:17:59.79ID:DWbeMcsH とフィボナッチイテレータより高度なプログラムが書けない人が申しております
281デフォルトの名無しさん
2023/05/09(火) 10:29:01.80ID:VcsuRebp282デフォルトの名無しさん
2023/05/09(火) 11:12:55.99ID:MyUREp4F >vec!はベクタ初期化時のみに用いられるマクロにすぎずそんな問題はない
doubt
>値一つ指定でN個を初期化するにはClone以外に方法はない
doubt
>まあClone回避パターンもありRustは完璧だ
doubt
よくこんな短文で嘘ばかりかけるな
doubt
>値一つ指定でN個を初期化するにはClone以外に方法はない
doubt
>まあClone回避パターンもありRustは完璧だ
doubt
よくこんな短文で嘘ばかりかけるな
283デフォルトの名無しさん
2023/05/09(火) 11:27:29.07ID:5GLz9i7j 複オジにいちいち突っ込んでたらキリがないぞ
騙されそうな奴がいなければほっとけばいい
騙されそうな奴がいなければほっとけばいい
284デフォルトの名無しさん
2023/05/09(火) 11:41:48.76ID:aPAF6NA5 オジ使いの人は否定はしても理由も正解も書かないからどっちが正しいのかいつもわからん
285デフォルトの名無しさん
2023/05/09(火) 12:08:20.62ID:By46q85D オジオジ言ってる人は間違いも多いけど偶然あってるときもあるぞ
適当に聞き流しとけ
適当に聞き流しとけ
286デフォルトの名無しさん
2023/05/09(火) 12:19:41.76ID:DWbeMcsH な、単発だろ
287デフォルトの名無しさん
2023/05/09(火) 12:27:45.30ID:DWbeMcsH プログラミング言語に使われる人になってはいけない
プログラミング言語を使える人になりなさい
プログラミング言語を使える人になりなさい
288デフォルトの名無しさん
2023/05/09(火) 13:50:33.38ID:TWnpopnf >>275
ですが、LLVMの最適化層は、メモリー領域が重なっているかどうかを解析する
機能も持っていますから、noaliasを明示的に付けなくても、最適化層が
自動的にnoalias相当の属性を付けてくれる場合も有り、そうなれば、
同じ程度に最適化されます。
C 言語の register 属性を付けなくても今のコンパイラは変数を自動的にレジスタ
に割り当てるのと似たようなことです。
飽くまでも補助情報です。
ですが、LLVMの最適化層は、メモリー領域が重なっているかどうかを解析する
機能も持っていますから、noaliasを明示的に付けなくても、最適化層が
自動的にnoalias相当の属性を付けてくれる場合も有り、そうなれば、
同じ程度に最適化されます。
C 言語の register 属性を付けなくても今のコンパイラは変数を自動的にレジスタ
に割り当てるのと似たようなことです。
飽くまでも補助情報です。
289デフォルトの名無しさん
2023/05/09(火) 14:18:30.40ID:qRADqwfY >>288
残念ながら一般的な場合にはその解析が不可能
そのためC言語はrestrictキーワードの指定の有無がそのまま最適化の有無に繋がる
このnoaliasによる最適化はベクトル化にも繋がるため実効果も大きい
Rustの可変参照は常にnoaliasとなりLLVMへその情報が伝わるため有利
残念ながら一般的な場合にはその解析が不可能
そのためC言語はrestrictキーワードの指定の有無がそのまま最適化の有無に繋がる
このnoaliasによる最適化はベクトル化にも繋がるため実効果も大きい
Rustの可変参照は常にnoaliasとなりLLVMへその情報が伝わるため有利
290デフォルトの名無しさん
2023/05/09(火) 14:27:49.18ID:TWnpopnf291デフォルトの名無しさん
2023/05/09(火) 14:49:54.81ID:qRADqwfY >>290
もちろんLLVMが解析で見つけ出すケースもゼロではないだろう
実際にはC言語でrestrict指定のコードを書くか否かで最適化の有無となっている現実が多々ある
つまり各言語はnoalias情報をLLVMへ渡したほうが確実に有利だ
C++は言語仕様にないが各コンパイラの独自拡張を使えば指定可能
もちろん無闇に指定してよいわけではなく確実にnoaliasと判断できる場合でないと動作不良を引き起こす
Rustは言語仕様によりデータ競合を起こさないよう可変参照が排他的になるため確実にnoaliasがLLVMに渡る
もちろんLLVMが解析で見つけ出すケースもゼロではないだろう
実際にはC言語でrestrict指定のコードを書くか否かで最適化の有無となっている現実が多々ある
つまり各言語はnoalias情報をLLVMへ渡したほうが確実に有利だ
C++は言語仕様にないが各コンパイラの独自拡張を使えば指定可能
もちろん無闇に指定してよいわけではなく確実にnoaliasと判断できる場合でないと動作不良を引き起こす
Rustは言語仕様によりデータ競合を起こさないよう可変参照が排他的になるため確実にnoaliasがLLVMに渡る
292デフォルトの名無しさん
2023/05/09(火) 15:08:56.17ID:oJhOeTc4 https://stackoverflow.com/questions/57259126/why-does-the-rust-compiler-not-optimize-code-assuming-that-two-mutable-reference
だいたいそんな感じなんだけど実際にはバグったせいで付けたり外したりしてしてます
だいたいそんな感じなんだけど実際にはバグったせいで付けたり外したりしてしてます
293デフォルトの名無しさん
2023/05/09(火) 15:10:24.05ID:TWnpopnf294デフォルトの名無しさん
2023/05/09(火) 15:21:42.16ID:GHMOM/oZ >>292
バグが見つかったのはLLVM側ね
Rustが常にnoaliasをLLVMへ指定してくるようになって
適用事例が増えてLLVMのバグが発覚できた感じ
そしてLLVM側がバグ改修中にRust側は一時的にnoaliasの指定をオフした話だね
バグが見つかったのはLLVM側ね
Rustが常にnoaliasをLLVMへ指定してくるようになって
適用事例が増えてLLVMのバグが発覚できた感じ
そしてLLVM側がバグ改修中にRust側は一時的にnoaliasの指定をオフした話だね
295デフォルトの名無しさん
2023/05/09(火) 16:23:47.59ID:oJhOeTc4 重要なのは犯人捜しではなく
「可変参照は常にnoaliasとなり」は嘘だということです
「可変参照は常にnoaliasとなり」は嘘だということです
296デフォルトの名無しさん
2023/05/09(火) 16:57:31.86ID:qRADqwfY >>293
Cではプログラマーがrestrict指定した箇所だけコンパイラがLLVMへnoalias指定する
C++ではプログラマーがコンパイラ独自拡張__restrict指定した箇所だけLLVMへnoalias指定される
言語仕様によりC/C++コンパイラがnoaliasを自動付与することはできない
C/C++プログラマーが安全に適用できると判断した時だけ自己責任でrestrict指定することになる
Rustは言語仕様により常に安全に自動的にコンパイラがLLVMへnoalias指定する
そのためRustプログラマーは何もしなくてもnoaliasによる最適化の恩恵を受けることができる
これが根本的な違い
Cではプログラマーがrestrict指定した箇所だけコンパイラがLLVMへnoalias指定する
C++ではプログラマーがコンパイラ独自拡張__restrict指定した箇所だけLLVMへnoalias指定される
言語仕様によりC/C++コンパイラがnoaliasを自動付与することはできない
C/C++プログラマーが安全に適用できると判断した時だけ自己責任でrestrict指定することになる
Rustは言語仕様により常に安全に自動的にコンパイラがLLVMへnoalias指定する
そのためRustプログラマーは何もしなくてもnoaliasによる最適化の恩恵を受けることができる
これが根本的な違い
297デフォルトの名無しさん
2023/05/09(火) 17:04:50.38ID:9RO9lVT1 コンパイラに撃墜されてるRustプログラマもいるから「何もしなくても」は言い過ぎだな
298デフォルトの名無しさん
2023/05/09(火) 17:08:17.41ID:qRADqwfY >>295
現在はLLVMがバグ対応したため常にnoalias指定となる
もちろん意図的にバグ未対応の古いバージョンのLLVMを指定したときを除く
その場合にRustコンパイラはnoaliasを指定しないという安全な動作をする
現在はLLVMがバグ対応したため常にnoalias指定となる
もちろん意図的にバグ未対応の古いバージョンのLLVMを指定したときを除く
その場合にRustコンパイラはnoaliasを指定しないという安全な動作をする
299デフォルトの名無しさん
2023/05/09(火) 17:09:31.38ID:oJhOeTc4 そんでいったい何nsec早くなるんですか?ってな
些細すぎる点です
些細すぎる点です
300デフォルトの名無しさん
2023/05/09(火) 17:30:52.58ID:JrSVS9vw Rustならテキトー書いても速くなる…はさすがに夢見すぎだろう (やってないので)しらんけど
301デフォルトの名無しさん
2023/05/09(火) 17:33:18.67ID:d0WXtuj5 おそらくだけど最適化が利いたとしてもベンチとかでは0.01%も速度は速くならないと思うけどな
302デフォルトの名無しさん
2023/05/09(火) 17:35:11.58ID:d0WXtuj5 普通にコードを書く限り一般的な速度は
c<c++<rust何だろ
でもそんなのにこだわって言語選ぶ意味はないよ
c<c++<rust何だろ
でもそんなのにこだわって言語選ぶ意味はないよ
303デフォルトの名無しさん
2023/05/09(火) 17:49:39.63ID:d0WXtuj5 速度じゃないわな
実行時間だ
速度だと
c > c++ > rust
実行時間だ
速度だと
c > c++ > rust
304デフォルトの名無しさん
2023/05/09(火) 21:13:21.70ID:jpsGavbj >>300
Rustは適当に書いたらコンパイル通らない。
Rustは適当に書いたらコンパイル通らない。
305デフォルトの名無しさん
2023/05/09(火) 21:36:53.43ID:Pc0KyjBY いうて、C++でinline、constexprやらテンプレートメタとかで実行時の処理効率を上げまくったらRustじゃ敵わないと思うんだけど、、
Rustでも似たようなこと出来るんだっけ?
Rustでも似たようなこと出来るんだっけ?
306デフォルトの名無しさん
2023/05/09(火) 21:55:51.60ID:m/PdBmgz >>305
できるよw
できるよw
307デフォルトの名無しさん
2023/05/09(火) 22:07:22.50ID:GHMOM/oZ >>305
Rustもできるよ
そもそもRustのconstはコンパイル時定数でC++のconstexprのこと
Rustの手続きマクロはRustコードの構文解析を入出力としてコンパイル時に実行生成するためC++より強力だね
Rustもできるよ
そもそもRustのconstはコンパイル時定数でC++のconstexprのこと
Rustの手続きマクロはRustコードの構文解析を入出力としてコンパイル時に実行生成するためC++より強力だね
308デフォルトの名無しさん
2023/05/09(火) 22:10:15.60ID:Pc0KyjBY なるほどね
俺の全力のC++コードじゃRustには敵わないようだ
俺の全力のC++コードじゃRustには敵わないようだ
309デフォルトの名無しさん
2023/05/09(火) 23:53:36.96ID:qRADqwfY310デフォルトの名無しさん
2023/05/10(水) 07:24:49.96ID:gVulLBUf テキトーに書いてもコンパイルが通る言語に憧れるなあ
311デフォルトの名無しさん
2023/05/10(水) 08:38:28.50ID:uLiToFDO 体感ではこうかな
c > rust > c++
c > rust > c++
312デフォルトの名無しさん
2023/05/10(水) 08:59:49.54ID:yd4Msfz1 複雑なことを好き勝手に書けるのがC++だったけど、簡潔に書くことも求められるようになりそうだねえ
当初は複雑だったけど、やることが大体固まったものをrewriteするなら、
いまなら確かにrustがアツい 成果も目に見えると思う たぶんCでは力不足だしね
当初は複雑だったけど、やることが大体固まったものをrewriteするなら、
いまなら確かにrustがアツい 成果も目に見えると思う たぶんCでは力不足だしね
313デフォルトの名無しさん
2023/05/10(水) 10:30:02.81ID:gGgNP0IP >>308
全力のrustコードを書けばいい
全力のrustコードを書けばいい
314デフォルトの名無しさん
2023/05/10(水) 12:47:47.75ID:of34847N C++相談室part161、ワッチョイ導入直前のスレ
https://mevius.5ch.net/test/read.cgi/tech/1653135809/343-381
https://mevius.5ch.net/test/read.cgi/tech/1653135809/481-650
C++相談室part162、ワッチョイ導入直後
https://mevius.5ch.net/test/read.cgi/tech/1667194175/
"Rust" の検索結果: 1件
は〜
https://mevius.5ch.net/test/read.cgi/tech/1653135809/343-381
https://mevius.5ch.net/test/read.cgi/tech/1653135809/481-650
C++相談室part162、ワッチョイ導入直後
https://mevius.5ch.net/test/read.cgi/tech/1667194175/
"Rust" の検索結果: 1件
は〜
315デフォルトの名無しさん
2023/05/10(水) 12:48:26.46ID:usV3D88W lintだけでもいいから、smart c++とか名前を付けてRustもどきの強制フォーマットを作って欲しいわ。
Rustそのものは要らん。
Rustそのものは要らん。
316デフォルトの名無しさん
2023/05/10(水) 12:49:05.61ID:of34847N Rust本スレもワッチョイ無しのほうやめちまえばいいのにな
C++相談室はすんなり移行できてて羨ましい
C++相談室はすんなり移行できてて羨ましい
317デフォルトの名無しさん
2023/05/10(水) 13:11:50.30ID:dsu8fQGS318デフォルトの名無しさん
2023/05/10(水) 13:15:44.86ID:uLiToFDO crates.io にうpして docs.rs の comment cover が
中々 100% に到達しないんだが
どこの comment が足りないって簡単に教えてくれるツールは?
local で docker 使えば判るもんなの?
あと「未 comment」数を減らした(=100%に近付けた)はずなのに
逆に%下がるケースもあるみたいで良く判らん
中々 100% に到達しないんだが
どこの comment が足りないって簡単に教えてくれるツールは?
local で docker 使えば判るもんなの?
あと「未 comment」数を減らした(=100%に近付けた)はずなのに
逆に%下がるケースもあるみたいで良く判らん
319デフォルトの名無しさん
2023/05/10(水) 14:03:23.86ID:jzBK8DOC lintにmissing_docs
https://doc.rust-lang.org/rustdoc/lints.html#missing_docs
があるけどデフォルトでallowになってるらしい
lib.rs(main.rs)に
#![warn(missing_docs)]
を足すかコマンドで↓を実行
cargo rustc -- -W missing-docs
https://doc.rust-lang.org/rustdoc/lints.html#missing_docs
があるけどデフォルトでallowになってるらしい
lib.rs(main.rs)に
#![warn(missing_docs)]
を足すかコマンドで↓を実行
cargo rustc -- -W missing-docs
320デフォルトの名無しさん
2023/05/10(水) 14:21:07.26ID:HatbRJDw >>316
注意喚起テンプレとこの隔離スレが効いてるから本スレも平和
注意喚起テンプレとこの隔離スレが効いてるから本スレも平和
321デフォルトの名無しさん
2023/05/10(水) 16:48:54.33ID:uLiToFDO322デフォルトの名無しさん
2023/05/10(水) 17:11:01.06ID:uLiToFDO323デフォルトの名無しさん
2023/05/10(水) 17:13:13.74ID:dsu8fQGS324デフォルトの名無しさん
2023/05/11(木) 03:47:03.48ID:1mbxr1bo C++だとdoxygenなど使うところが
Rustだと公式サポートされて色々と進んでいるのね
Rustだと公式サポートされて色々と進んでいるのね
325デフォルトの名無しさん
2023/05/11(木) 08:01:31.45ID:UvaUTinw https://twitter.com/markrussinovich/status/1656416376125538304
If you're on the Win11 Insider ring, you're getting the first taste of Rust in the Windows kernel!
https://pbs.twimg.com/media/FvzF4ZraQAUumaq.png
https://twitter.com/5chan_nel (5ch newer account)
If you're on the Win11 Insider ring, you're getting the first taste of Rust in the Windows kernel!
https://pbs.twimg.com/media/FvzF4ZraQAUumaq.png
https://twitter.com/5chan_nel (5ch newer account)
326デフォルトの名無しさん
2023/05/11(木) 11:43:59.84ID:Ue/TF0sJ win32kbase_rs.sys
win32kfull_rs.sys
って何?
ついでに名前が似た以下のファイルも
win32kbase.sys
win32kfull.sys
win32kfull_rs.sys
って何?
ついでに名前が似た以下のファイルも
win32kbase.sys
win32kfull.sys
327デフォルトの名無しさん
2023/05/11(木) 12:35:35.38ID:hMF5bhvG ttps://japan.zdnet.com/article/35198420/
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【卓球】早田ひな、「総額100万スられた」「ずっと憧れていたスペインとイタリア…」ヨーロッパ旅行で悲劇 スリ被害を告白 [muffin★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【実況】博衣こよりのえちえち歌枠🧪★2
- 【画像】外務省局長「この度はうちの🦎がすみません…」中国「……」 [165981677]
- 産経新聞「高市早苗の答弁さぁ……思慮が足りてなくね?官僚と詰めずに思いつきで話しているでしょ」 [175344491]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 外務省局長、よくわからないまま帰国へ [834922174]
