公式
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にも他の言語のオプション引数やキーワード引数があると嬉しいよね」という話なら同意だけど、ビルダーのパフォーマンスはそんなに重要な話でないというか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 🇺🇸🇨🇳米中関係は「極めて強固」とトランプ氏… ★6 [BFU★]
- SuicaとPASMOのコード決済「teppay(テッペイ)」26年秋開始 🐧🤖 [少考さん★]
- 【フジ】クリスマスイブ恒例の「明石家サンタ」見送りへ 今年は「お笑い向上委員会」SP放送 [征夷大将軍★]
- 【足立区暴走11人死傷】歩行者はねた後も減速せず…精神疾患がある37歳男「車で神奈川の山の方に行きたいと思った」 [ぐれ★]
- 「ホストに貢ぎたい」と海外で売春する日本人女性 2カ月で2千万円稼ぐケースも [1ゲットロボ★]
- 【速報】外務次官が中国大使と面会 [蚤の市★]
- 台湾「習主席がトランプ大統領との電話会談で台湾問題を言及しなかったことは台湾にとって最良の結果」高市ハシゴ外されるwwwww [931948549]
- 【高市速報】コンバースのスニーカーが再びブームに🔥🔥wwwwwwwwwwwwwwww ここに着て履いてるやつが爆増 [573041775]
- お前らって困ったときに助けてくれる人いる?
- 唐揚げ作る時に入れたら美味そうなものなに
- 【速報】山上徹也、安倍晋三ビデオ動画で「絶望」、裁判で証言 [947332727]
- ウクライナ、事実上の降伏。プーアノンと呼ばれていた人たちだけが世界情勢を俯瞰的に見ていた [805596214]
