Improving C# Memory Safety
https://devblogs.microsoft.com/dotnet/improving-csharp-memory-safety/
C# 16、メモリ安全性を強化する新たなunsafeモデルを導入へ
https://codezine.jp/news/detail/24314
C#が新unsafeでメモリ安全に Rust/Swiftへの言及も
1デフォルトの名無しさん
2026/05/24(日) 23:12:01.01ID:Q/0ls4UZ2026/06/26(金) 22:24:27.32ID:maA58Mlv
ガベージコレクションは確実に遅くなる
その遅さと引き換えに他のメリットが上回るときに用いられるレアケースがある
滅多にないため通常はガベージコレクションは候補にせずに無視していい
その遅さと引き換えに他のメリットが上回るときに用いられるレアケースがある
滅多にないため通常はガベージコレクションは候補にせずに無視していい
13デフォルトの名無しさん
2026/06/27(土) 00:01:41.06ID:D69zuVLr 逐次解放が速いなんてありえねえしアリーナ使えるのは条件が限られるガベージコレクションこそが一般的で高速なメモリ管理だよ、メモリが十分にあるならGCがされないことだってあるからね遅延させて必要な時だけメモリを解放する、これよりも良い方法は存在しません
14デフォルトの名無しさん
2026/06/27(土) 00:07:39.52ID:D69zuVLr C#がCなどに比べて遅いのは仮想マシンで実行されるからでメモリの確保を大量にこなす処理はC#の方が速い、マネージメモリをまとめて確保してるからね、手動でやれば速くなるなんてのは幻想よRustもゴミ、以上
2026/06/27(土) 01:48:25.86ID:c7cFpiQD
C#が遅い理由はGCに依存しているため
16デフォルトの名無しさん
2026/06/27(土) 02:00:33.11ID:YqZxmVSt 数字出さずに感想文だけ書くやつは無能
2026/06/27(土) 02:04:32.43ID:ID3kKpvp
2026/06/27(土) 02:15:41.04ID:ZhnlnZJx
メモリが十分にあってGCが発動しなくても、GC言語は各種ベンチマークで、なぜC/C++/Rustに勝てないのか?
その理由は、GC言語はGCできるようにメモリ管理をせざるを得ないためだ。
その理由は、GC言語はGCできるようにメモリ管理をせざるを得ないためだ。
19デフォルトの名無しさん
2026/06/27(土) 08:40:51.74ID:D69zuVLr >>16
あなた無能ってことですやんwww
あなた無能ってことですやんwww
20デフォルトの名無しさん
2026/06/27(土) 14:22:36.42ID:i5PSImc0 それってあなたの感想ですよね
21デフォルトの名無しさん
2026/06/27(土) 18:35:33.80ID:vL0XygNT >>14
手動とはどういう意味でしょう?
例えばそのRustで構造体のオブジェクトを作るとすると
その値を格納する変数はスタック領域に確保されます
そのメモリ割り当て解放コストは他のローカル変数とまとめてスタックポインタを加算減算するだけでコストは最小
これら自動ですので手動ではありません
手動とはどういう意味でしょう?
例えばそのRustで構造体のオブジェクトを作るとすると
その値を格納する変数はスタック領域に確保されます
そのメモリ割り当て解放コストは他のローカル変数とまとめてスタックポインタを加算減算するだけでコストは最小
これら自動ですので手動ではありません
22デフォルトの名無しさん
2026/06/27(土) 18:38:11.62ID:vL0XygNT ではその構造体オブジェクトを作る関数が先ほどの変数>>21へ値を返す時はどうなるでしょうか?
その値が小さければレジスタで返されます
その値が大きければ自動的に先ほどのスタック上の変数のアドレスが関数へ渡されてダイレクトに返す先の変数に値が書き込まれます
このようにオブジェクトの値のやりとりコストも最小
そしてこのオブジェクト作成関数ではオブジェクトのメモリの確保が不要
これらも自動ですので手動はありません
その値が小さければレジスタで返されます
その値が大きければ自動的に先ほどのスタック上の変数のアドレスが関数へ渡されてダイレクトに返す先の変数に値が書き込まれます
このようにオブジェクトの値のやりとりコストも最小
そしてこのオブジェクト作成関数ではオブジェクトのメモリの確保が不要
これらも自動ですので手動はありません
23デフォルトの名無しさん
2026/06/27(土) 18:40:24.54ID:vL0XygNT 最後に変数>>21に格納された構造体オブジェクトの値を用いる他の関数を呼び出す時はどうなるでしょうか?
不変参照(書き換え不可)か可変参照(書き換え可能)を関数へ渡します
先ほどのスタック上の変数のアドレスがレジスタに格納されて関数へ渡されるだけでコスト最小です
以上ここまでメモリの割り当てと解放のコストは最初のオブジェクト格納変数のためのスタックポインタの加算減算しか生じていないです
だから速いのです
不変参照(書き換え不可)か可変参照(書き換え可能)を関数へ渡します
先ほどのスタック上の変数のアドレスがレジスタに格納されて関数へ渡されるだけでコスト最小です
以上ここまでメモリの割り当てと解放のコストは最初のオブジェクト格納変数のためのスタックポインタの加算減算しか生じていないです
だから速いのです
2026/07/01(水) 23:53:23.48ID:xfe/unY1
2026/07/02(木) 00:01:31.02ID:bbwDIcek
>>21-23
複数の点で間違っている
まず、ランタイムが管理するのではなくソースコードで利用されている場所や解放のタイミングを定めることを「手動管理」と呼ぶのであり、Rustは手動管理を行う言語である
また、メモリ割り当てコストはスタックポインタの加算のみではなく、OSによる処理が介在するしこちらの方がはるかに重い、しかもGCの話と何の関連性もない
メモリがどこから参照されていてどの時点で利用されなくなったか、管理する処理を全てランタイムが実行時に行うのがGCである
参照カウンタによる管理(ARC, ORC)のような中間の機能を備えた言語も存在するが、いずれにせよGCは管理コストが重いことは確かである
複数の点で間違っている
まず、ランタイムが管理するのではなくソースコードで利用されている場所や解放のタイミングを定めることを「手動管理」と呼ぶのであり、Rustは手動管理を行う言語である
また、メモリ割り当てコストはスタックポインタの加算のみではなく、OSによる処理が介在するしこちらの方がはるかに重い、しかもGCの話と何の関連性もない
メモリがどこから参照されていてどの時点で利用されなくなったか、管理する処理を全てランタイムが実行時に行うのがGCである
参照カウンタによる管理(ARC, ORC)のような中間の機能を備えた言語も存在するが、いずれにせよGCは管理コストが重いことは確かである
26デフォルトの名無しさん
2026/07/02(木) 16:41:43.90ID:uhOY6xpy >>24
バカ乙
メモリがリンゴだとする
リンゴを収穫する時に1個ちぎって1個ずつ運ぶより何個もちぎって箱に入れてまとめて運んだ方が速いだろ、箱を管理するコストが増えるが運ぶコストが減るから結果的に速くなるわけ
バカ乙
メモリがリンゴだとする
リンゴを収穫する時に1個ちぎって1個ずつ運ぶより何個もちぎって箱に入れてまとめて運んだ方が速いだろ、箱を管理するコストが増えるが運ぶコストが減るから結果的に速くなるわけ
2026/07/02(木) 17:58:33.20ID:CnMkjRrm
>>25
あなたの理解が不足している
それらに書かれていることを別の表現にすると
『Rustはスタック上にオブジェクトなどの値を置いたまま他の関数でも安全に扱える』
メモリの確保と解放はスタックポインタの増減のみなので最も高速で正しい
そしてその関数を抜けると自動的に解放されるから「自動管理」で正しい
一方でベクターなど複数個の大きな領域を必要とする場合はもちろん自動的にヒープ領域にまとめて確保されてまとめて解放される
Rustはそこでも手動解放は必要なくて基本はそのベクターを宣言した関数を抜けると自動的に解放されるから「自動管理」で正しい
関数の返り値として返せば解放されずに上位の関数に移るが返り値として返すことはGC言語でも同じく行なう自然な行為なのでそれが手動管理と呼ばれることはない
あなたの理解が不足している
それらに書かれていることを別の表現にすると
『Rustはスタック上にオブジェクトなどの値を置いたまま他の関数でも安全に扱える』
メモリの確保と解放はスタックポインタの増減のみなので最も高速で正しい
そしてその関数を抜けると自動的に解放されるから「自動管理」で正しい
一方でベクターなど複数個の大きな領域を必要とする場合はもちろん自動的にヒープ領域にまとめて確保されてまとめて解放される
Rustはそこでも手動解放は必要なくて基本はそのベクターを宣言した関数を抜けると自動的に解放されるから「自動管理」で正しい
関数の返り値として返せば解放されずに上位の関数に移るが返り値として返すことはGC言語でも同じく行なう自然な行為なのでそれが手動管理と呼ばれることはない
レスを投稿する
ニュース
- 佐藤二朗 ハラスメント報道にコメント「大変残念。全ての事実が明らかになることを望みます」所属事務所「到底受け入れられない」★30 [Ailuropoda melanoleuca★]
- 女性教員「洗濯物は私服」 電気ストーブも私物 小学校火災 [煮卵★]
- 町の洋菓子店が大ピンチ 値上げしても売り上げ減 倒産過去最多 ★2 [蚤の市★]
- 日本人の食料品、20000品目が値上げ [バイト歴50年★]
- 病院搬送の木下優樹菜 救急隊員の質問や態度に“ブチギレ” 「これなんの時間?」「声が出なくて逆によかったよ」★2 [ネギうどん★]
- “フェイク情報”を信じやすい人の特徴とは? 視野を狭くするSNS空間の“三重構造” (『嘘で満ちていく社会』朝日新書) ★2 [少考さん★]
- 🇻🇳ベトちゃんドクちゃん👊😅😅👊🏡
- 【高市朗報】税収、前年比9兆円も増加!84.2兆円に達す!基礎的財政収支もギリ黒字化か?! [219241683]
- 謎の人「あなたは間違っている。あなたは自分を誇ってはいけない。あなたが賢く正直なら私の言うことを信じるだろう」
- カイト飛び降り
- 🏫🔥東京・北区の小学校火災、40代の女性教員「私物のストーブ持ち込み私服乾かしていた」 [718678614]
- 君が代ってセンス古すぎね?