公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
公式ドキュメント
https://www.rust-lang.org/learn
Web上の実行環境
https://play.rust-lang.org
※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/
※Rustを学ぶ際に犯しがちな12の過ち
https://dystroy.org/blog/how-not-to-learn-rust
※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/
※次スレは原則>>980が立てること
前スレ
Rust part28
https://mevius.5ch.net/test/read.cgi/tech/1742805420/
ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
探検
Rust part29
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2025/05/03(土) 00:47:30.13ID:phVJ5tWC2デフォルトの名無しさん
2025/05/03(土) 07:56:18.42ID:ERFTsxnY >>前969
>このパターンが「便利だから」という理由で他の言語でも流行る
C++のstreamのsetwみたいでださいな
>このパターンが「便利だから」という理由で他の言語でも流行る
C++のstreamのsetwみたいでださいな
2025/05/03(土) 09:25:44.77ID:qBega2UP
>>前995
> 構造体のフィールドに値を入れていって構造体を作成しても
> derive_builderを使いメソッドで値を入れていっても同じになった
> メソッド呼び出しが消えた
> ゼロコスト
builderのコストは下記。名前付き引数とデフォルト値を使用した方法であれば全て不要で単なるnewの呼び出しとなるが、これらが全て最適化で消えるのか?
* パラメータ用の構造体(以下P)のアロケーション
* 構造体Pのデフォルト値での初期化
* 構造体Pのフィールドに対する上書き
* 構造体Pから最終的に作成する構造体への各フィールドの逐次的なコピー
* 構造体Pの破棄
> 構造体のフィールドに値を入れていって構造体を作成しても
> derive_builderを使いメソッドで値を入れていっても同じになった
> メソッド呼び出しが消えた
> ゼロコスト
builderのコストは下記。名前付き引数とデフォルト値を使用した方法であれば全て不要で単なるnewの呼び出しとなるが、これらが全て最適化で消えるのか?
* パラメータ用の構造体(以下P)のアロケーション
* 構造体Pのデフォルト値での初期化
* 構造体Pのフィールドに対する上書き
* 構造体Pから最終的に作成する構造体への各フィールドの逐次的なコピー
* 構造体Pの破棄
2025/05/03(土) 09:44:09.41ID:WnzKFtQv
全部消える。 構造体初期化の文法で書いた場合と同じ。
最適化しない場合の素朴な処理でもそんなに気にするような深刻な差もない。
最適化しない場合の素朴な処理でもそんなに気にするような深刻な差もない。
2025/05/03(土) 10:00:48.18ID:WFDs7LYH
>>4
compiler explorerで示して
compiler explorerで示して
2025/05/03(土) 10:10:18.01ID:h9Jrb8E+
は?
2025/05/03(土) 10:43:01.54ID:rfaECn6+
君は見たか?
複おじがぐうのねも出ずに論破された所を
複おじがぐうのねも出ずに論破された所を
2025/05/03(土) 10:49:14.34ID:NA/ingJD
過視化するな
2025/05/03(土) 10:52:36.35ID:rfaECn6+
大体のケースでビルダーパターンはアンチパターンと主張し続けて20年以上経つ
2025/05/03(土) 10:54:37.53ID:0l2J5oT4
最適化されることを主張するなら証拠を示すべきなのは当然だが、
コピーの最適化を前提にするのなら例えば安易にCopy実装したりcloneしたりすんな、
みたいな意識高い言説は多くの場合無意味になっちゃうわけだけど、Rustおじはそれでいいのだろうか
コピーの最適化を前提にするのなら例えば安易にCopy実装したりcloneしたりすんな、
みたいな意識高い言説は多くの場合無意味になっちゃうわけだけど、Rustおじはそれでいいのだろうか
11デフォルトの名無しさん
2025/05/03(土) 11:28:41.74ID:x2OSMXKg この流れは流石に重箱の隅をつつきすぎじゃないの?
Rustのビルダーはオプショナルな動作を指定するパターンでしかないし、これが最適化されないと困る場面もそんなに無い
せいぜい、ヒープを使うデータについてビルダーを消費するか、中身を clone するかを検討するくらいでしょ
コピー動作が問題になるとしたら、例えば数十万とかの要素を持つ配列の for ループ内でビルダーを使う場合が考えられるけど、それならビルダーを1度だけ作ってそれを使いまわせばいいし
「Rustにも他の言語のオプション引数やキーワード引数があると嬉しいよね」という話なら同意だけど、ビルダーのパフォーマンスはそんなに重要な話でないというか
Rustのビルダーはオプショナルな動作を指定するパターンでしかないし、これが最適化されないと困る場面もそんなに無い
せいぜい、ヒープを使うデータについてビルダーを消費するか、中身を clone するかを検討するくらいでしょ
コピー動作が問題になるとしたら、例えば数十万とかの要素を持つ配列の for ループ内でビルダーを使う場合が考えられるけど、それならビルダーを1度だけ作ってそれを使いまわせばいいし
「Rustにも他の言語のオプション引数やキーワード引数があると嬉しいよね」という話なら同意だけど、ビルダーのパフォーマンスはそんなに重要な話でないというか
2025/05/03(土) 11:29:53.96ID:rfaECn6+
ストローマン論法
2025/05/03(土) 11:53:45.69ID:NA/ingJD
匿名の藁人形は作れない
作れるのは名指しできる個人や団体だけ
だから実名のSNSは嫌なんだよね
作れるのは名指しできる個人や団体だけ
だから実名のSNSは嫌なんだよね
2025/05/03(土) 12:04:07.72ID:ekVKJoF2
>>10
一理ある
一理ある
2025/05/03(土) 12:39:00.21ID:0l2J5oT4
RustやC++のゼロオーバーヘッドが意味するところは結局「俺達のコードがどのように処理系によって最適化されるかを俺達は知っている」ということであって、
どのような最適化がなされるかについて一定の透明性があり結果が自明であることが重要
その点で、コピーの最適化を前提にするってのはかなり微妙
どのような最適化がなされるかについて一定の透明性があり結果が自明であることが重要
その点で、コピーの最適化を前提にするってのはかなり微妙
2025/05/03(土) 13:47:12.37ID:ekVKJoF2
「かいたとおりにうごく」が最適化では成り立たないからなぁ
2025/05/03(土) 13:55:18.67ID:NA/ingJD
昔ある言語でcontinueがないぞと散々言われて、gotoが実装されたことがあった
何もしないのと比較すればcontinueの提案は優れていたかもしれないが
それは比較対象との相性が良かっただけ
何もしないのと比較すればcontinueの提案は優れていたかもしれないが
それは比較対象との相性が良かっただけ
2025/05/03(土) 14:13:59.39ID:rfaECn6+
数年前に読んだ書籍にcontinueは使うべきでないと書かれていて驚いた
2025/05/03(土) 14:41:11.34ID:WnzKFtQv
>>10
安易に clone すべきでないのは所有権管理の話で、実行コストの話とはレイヤが違う。
安易に clone すべきでないのは所有権管理の話で、実行コストの話とはレイヤが違う。
20デフォルトの名無しさん
2025/05/03(土) 18:56:47.80ID:Q4RX0Sa/ スマホとPCの作業を効率化したい--「Copilot Vision」の便利な8つの活用例
2025-05-03 07:00
https://japan.zdnet.com/article/35232549/
1 プログらまーまこれを改造してるので上記以外の状態でも使用できるようにしている
2 すでにプログラムがあるので1〜コードを作成する必要が無い
ボイス・トォ・スカルの本態が一般パソコンにまで来たのでつい買い捨てができるようになった
マネーロンダリング 談合 インサイダー などがはかどるといわれる
2025-05-03 07:00
https://japan.zdnet.com/article/35232549/
1 プログらまーまこれを改造してるので上記以外の状態でも使用できるようにしている
2 すでにプログラムがあるので1〜コードを作成する必要が無い
ボイス・トォ・スカルの本態が一般パソコンにまで来たのでつい買い捨てができるようになった
マネーロンダリング 談合 インサイダー などがはかどるといわれる
2025/05/03(土) 23:51:30.72ID:OINldK7L
>>3
それらは最適化ですべて消えて最終的な初期化構造体のみになった
イテレータメソッドチェーンなどの時と同じ原理
それはもっと極端で各イテレータ毎にいくつ構造体があろうと縮約したりレジスタ化されたりして各構造体は消えていく
それらは最適化ですべて消えて最終的な初期化構造体のみになった
イテレータメソッドチェーンなどの時と同じ原理
それはもっと極端で各イテレータ毎にいくつ構造体があろうと縮約したりレジスタ化されたりして各構造体は消えていく
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【高市関税キター!!】個人輸入・少額輸入品への税優遇見直しへ…中国の通販サイトなどからの大量輸入を懸念 [1ゲットロボ★]
- たぬかな、結婚していた SNSで報告 生配信では入籍時期も説明 祝福殺到「おめでとう!」「幸あれ」 [muffin★]
- 自民 国会議員の歳費 月額5万円引き上げ 今国会での成立目指す [どどん★]
- 「車を処分してください」生活保護の窓口 取材で見えた利用者の実情 [少考さん★]
- 「クラウンに乗りたかった」東京・足立の車暴走 男性、容疑を否認★2 [七波羅探題★]
- 相次ぐ中国公演中止に、シンガーソングライターらが続々高市首相に怒り表明「隣国の仲間たちに対して申し訳ない」★3 [muffin★]
- 【動画】慶應准教授の有野氏、高市答弁の問題点を理路整然と指摘しまいネトウヨ発狂wwwwwwwwwwww [271912485]
- 自民党閣僚関係者「党内外問わず高市総理に批判的なことを言える空気ではない」 [834922174]
- Yahooニュースの高市批判記事にヤフコメ民殺到。怒涛の援護へ [268718286]
- (´・ω・`)ぴぃちゃんおいで
- お前ら毎年暖冬とか言ってるけど寒いんだが?
- しかぶってよか?
