[過去ログ]
Rust part24 (1002レス)
Rust part24 http://mevius.5ch.net/test/read.cgi/tech/1716759686/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
399: デフォルトの名無しさん [sage] 2024/06/27(木) 11:20:07.91 ID:veLj9zg3 よくわかんないんだけどスタック上に確保したメモリの所有権を外に移して関数は終了してスタックが縮んじゃうとかさ 「そんなわけないだろ」って思うんだけど http://mevius.5ch.net/test/read.cgi/tech/1716759686/399
401: デフォルトの名無しさん [sage] 2024/06/27(木) 12:00:05.74 ID:TDzAch9x >>399 関数が値を返す場合にサイズが小さければレジスタで返す サイズが大きい場合は呼び出し元のスタックフレームに領域を確保してそこへ直接書き込んでいる つまり暗に可変参照を渡す最適化が行われている それはサイズの大きい値を返す関数呼び出しが多段でも同じなので一番最初の関数のスタックフレームに直接書き込まれる http://mevius.5ch.net/test/read.cgi/tech/1716759686/401
402: デフォルトの名無しさん [sage] 2024/06/27(木) 12:27:57.71 ID:OTNDZ+yC >>399 >「そんなわけないだろ」 その感覚は正しい Rustを広めたいために勢い余ってデマを流してる香具師が一定数いる >>401 が正しい http://mevius.5ch.net/test/read.cgi/tech/1716759686/402
403: デフォルトの名無しさん [sage] 2024/06/27(木) 12:45:47.11 ID:VTKaeii9 >>399 >よくわかんないんだけどスタック上に確保したメモリの所有権を外に移して関数は終了してスタックが縮んじゃうとかさ これ自体なにを言いたいのかよくわからんけど その前にそんなこと言ってるやつおる? >>400 >スタック上に確保すればキャッシュ上にある キャッシュから追い出される状況もあるよね http://mevius.5ch.net/test/read.cgi/tech/1716759686/403
404: デフォルトの名無しさん [sage] 2024/06/27(木) 12:53:21.92 ID:TDzAch9x >>402 いや>>399の話も正しいんだよ 重要なのはRust上の概念とその実現方法(実装)とその最適化の3つは当然異なるということ 所有権を移すとはmoveという概念であって moveの実装はコピー(してコピー元を使わない) ただし無駄なコピーは最適化で消える 例えば大きなサイズの構造体を関数が返す場合は呼び出し元の関数のスタックフレーム上に直接書き込まれることで無駄なコピーが発生しない http://mevius.5ch.net/test/read.cgi/tech/1716759686/404
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.045s