公式
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にも他の言語のオプション引数やキーワード引数があると嬉しいよね」という話なら同意だけど、ビルダーのパフォーマンスはそんなに重要な話でないというか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 真冬に“エアコン”がなく孤独な死…生活保護受給者40代シングルマザーの悲劇が行政に問いかける“教訓” ★2 [ぐれ★]
- 渡邊渚「スカートが短いから痴漢してOKなんておかしい」「数えきれないほど痴漢に遭った」加害者が守られがちな痴漢事件について思うこと [Ailuropoda melanoleuca★]
- 日本、世界初レアアース泥の採掘へ 南鳥島周辺から 現場からはネオジウム等既に確認 成功なら本格採鉱へ [お断り★]
- 【続報】母親名義のマンションから27歳男性の遺体 西東京市4人死亡 [どどん★]
- 止まらぬ少子化、高市政権の戦略は 今年の出生数、過去最少を更新 [蚤の市★]
- グレタさん、英国で拘束 [少考さん★]
- 【実況】博衣こよりのえちえち利用規約🧪★2
- 【実況】博衣こよりのえちえち利用規約🧪★3
- まったり進行おじゃる丸待機ハウス🏡
- 🏡ホロライブランド🎢🎡🎠
- vRchatで ビューする?
- 高市、保険適用見直しでロキソニン、アレグラ、アレジオン、ヒルドイド、ムコダイン、湿布各種の国民の負担額を爆増させると決定 ざけんなよ [597533159]
