公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
Web上の実行環境
https://play.rust-lang.org
日本語の情報
https://rust-jp.rs/
※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/
※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/
※C++との比較は専用スレへ
C++ vs Rust
https://mevius.5ch.net/test/read.cgi/tech/1619219089/
※次スレは原則>>980が立てること
前スレ
Rust part12
https://mevius.5ch.net/test/read.cgi/tech/1629813327/
Rust part13
■ このスレッドは過去ログ倉庫に格納されています
2021/11/07(日) 10:04:59.35ID:pJhT3MIE
368デフォルトの名無しさん
2021/12/24(金) 16:31:02.04ID:GD01KKAb 予想が完全に外れたID:8qqh3vKrを晒し上げ♪♪♪
ここまで簡単な予想を外すとかバカ過ぎて生きていけなさそうwww
馬鹿丸出しですねwwwwww
ここまで簡単な予想を外すとかバカ過ぎて生きていけなさそうwww
馬鹿丸出しですねwwwwww
369デフォルトの名無しさん
2021/12/24(金) 16:40:31.03ID:8qqh3vKr 素でバカなんだな。。もうコンパイル通ったんで俺の仕事終わりとか現場で言ってろよ。。話にもならん。
370デフォルトの名無しさん
2021/12/24(金) 16:42:14.31ID:/xk3NPni371デフォルトの名無しさん
2021/12/24(金) 16:45:16.93ID:/xk3NPni372デフォルトの名無しさん
2021/12/24(金) 16:46:19.44ID:/xk3NPni >>369
同一人物だってことはバレバレだっつーの。バカ丸出し。wwwwwwwwww
同一人物だってことはバレバレだっつーの。バカ丸出し。wwwwwwwwww
373デフォルトの名無しさん
2021/12/24(金) 17:12:05.04ID:jmk0MHfo どうでもええわRustの話しろ
374デフォルトの名無しさん
2021/12/24(金) 17:38:56.03ID:8qNIErj3 厳密な定義でも使えない定義?Rustに特定条件下でCのような未定義になる動作あったっけ?
375デフォルトの名無しさん
2021/12/24(金) 18:41:11.93ID:759ZBatD スレの文脈はしらんけど、
Rustではunsafeを使ってなければコンパイラが、未定義動作が起きないということや、データ競合がないことを保証をしてくれるよ
Rustではunsafeを使ってなければコンパイラが、未定義動作が起きないということや、データ競合がないことを保証をしてくれるよ
376デフォルトの名無しさん
2021/12/24(金) 19:10:24.57ID:/xk3NPni >>369
予言外れましたよね?wwwwwwww
予言外れましたよね?wwwwwwww
377デフォルトの名無しさん
2021/12/25(土) 15:28:33.08ID:lsYj53Mi Rustでフロントエンドしてる奴おる?
378デフォルトの名無しさん
2021/12/26(日) 12:56:45.57ID:NwCcamJz Rustの勉強を昨日から開始した。後は構造体とかかな。
379デフォルトの名無しさん
2021/12/26(日) 17:26:13.09ID:rNqv+UWs コード貼ったら糞だボケだゴミだと自称上級者に罵倒されるから注意しろ
380デフォルトの名無しさん
2021/12/26(日) 19:27:36.42ID:IL2U4vJU Rustはこう謳っている
>なぜRustか?
>パフォーマンス
>信頼性
>生産性
真っ向から反するコードを貼ってりゃゴミ・クソ言われて当然なんだよなぁ
>なぜRustか?
>パフォーマンス
>信頼性
>生産性
真っ向から反するコードを貼ってりゃゴミ・クソ言われて当然なんだよなぁ
381デフォルトの名無しさん
2021/12/26(日) 19:29:23.79ID:Haex5ds9 すまんが、配列に入った数値の平均ってパッと出せないもんなの?
他言語でふにゃふにゃになった俺の頭でコードを書いたら、桁の溢れとか精度とか酷えことになりそう・・・・
他言語でふにゃふにゃになった俺の頭でコードを書いたら、桁の溢れとか精度とか酷えことになりそう・・・・
382デフォルトの名無しさん
2021/12/26(日) 20:24:04.94ID:s+fXV5dW コードもゴミだったがそれ以上に考え方がゴミだったからな
383デフォルトの名無しさん
2021/12/26(日) 20:42:21.32ID:M+F+5/6j384デフォルトの名無しさん
2021/12/26(日) 22:30:25.75ID:L9HJqboW >>381
普通に平均を求めるだけではダメなのでしょうか?
fn main() {
assert_eq!(5.5, (1..=10).average());
assert_eq!(6.8, [2.3, 8.7, 9.4].average());
}
use num::ToPrimitive;
trait Average {
fn average(self) -> f64;
}
impl<I> Average for I
where I: IntoIterator, <I as IntoIterator>::Item: ToPrimitive,
{
fn average(self: I) -> f64 {
self.into_iter().fold((0.0, 1.0), |(ave, size), n| (ave + (n.to_f64().unwrap() - ave) / size, size + 1.0)).0
}
}
普通に平均を求めるだけではダメなのでしょうか?
fn main() {
assert_eq!(5.5, (1..=10).average());
assert_eq!(6.8, [2.3, 8.7, 9.4].average());
}
use num::ToPrimitive;
trait Average {
fn average(self) -> f64;
}
impl<I> Average for I
where I: IntoIterator, <I as IntoIterator>::Item: ToPrimitive,
{
fn average(self: I) -> f64 {
self.into_iter().fold((0.0, 1.0), |(ave, size), n| (ave + (n.to_f64().unwrap() - ave) / size, size + 1.0)).0
}
}
385デフォルトの名無しさん
2021/12/27(月) 00:09:24.17ID:wxukv015 カハンの加算アルゴリズムというのがある
386デフォルトの名無しさん
2021/12/27(月) 09:11:03.63ID:9DXmjbrK 汚コードキタ━!
387デフォルトの名無しさん
2021/12/27(月) 10:50:10.93ID:BFpPIAiX 何でもトレイト化するアホ
388デフォルトの名無しさん
2021/12/27(月) 12:29:15.17ID:PxL7gTAR ゴミをゴミだといって何が悪い!
389デフォルトの名無しさん
2021/12/27(月) 12:32:52.22ID:OyINMfYQ ここの人たちってplaygroundとかなんで完全に動かせるコードで提示しないんだろ・・・?
アドバイス貰うにも回答するにも一生懸命スペース全角置換したり、まじ両方キモイw
trait Averagewwwww
アドバイス貰うにも回答するにも一生懸命スペース全角置換したり、まじ両方キモイw
trait Averagewwwww
390デフォルトの名無しさん
2021/12/27(月) 13:09:28.61ID:PX/mZ8bI こう言う時って普通の関数にしちゃいかんの?
391デフォルトの名無しさん
2021/12/27(月) 14:19:38.18ID:Btn3kp2t 普通の関数にすべきかどうかはメソッドチェーンにしたいかどうかで判断すればよろしい
392デフォルトの名無しさん
2021/12/27(月) 14:43:10.42ID:0vghZEjd393デフォルトの名無しさん
2021/12/27(月) 15:03:42.29ID:6JVZDUUj394デフォルトの名無しさん
2021/12/27(月) 21:04:27.03ID:K3JIQJJi しょうがない、一応は専門家が書いているであろう他言語の実装を参考にしよう・・・・
https://source.dot.net/#System.Linq/System/Linq/Average.cs,2b4701af991d5425
俺様、信頼して使っていたメソッドの衝撃の事実を知る
https://source.dot.net/#System.Linq/System/Linq/Average.cs,2b4701af991d5425
俺様、信頼して使っていたメソッドの衝撃の事実を知る
395デフォルトの名無しさん
2021/12/27(月) 21:09:19.15ID:h+0xE8z4 浮動小数点型ならそういう素直な実装で十分だよ
396デフォルトの名無しさん
2021/12/27(月) 21:53:06.04ID:N7w3YVE+ >>384
それだと桁溢れは防止できているが誤差蓄積の対処ができていない
もう一つパラメタを増やしてこうしたほうがいい
fn average(self: I) -> f64 {
self.into_iter().fold((0.0, 1.0, 0.0), |(ave, size, fix), n| {
let diff = (n.to_f64().unwrap() - ave) / size - fix;
let new_ave = ave + diff;
(new_ave, size + 1.0, (new_ave - ave) - diff)
}).0
}
>>387
イテレータメソッド化するにはそのためのtrait宣言が必須
もしわからないならitertoolsなどのイテレータ拡張ライブラリを見よう
>>389
標準ライブラリのsum()がtrait Sumを使っているからtrait Averageでもまあいいとは思う
ただし今回はイテレータメソッド拡張のみに用いているようだからtrait IteratorExtなどの命名がわかりやすいとは思う
それだと桁溢れは防止できているが誤差蓄積の対処ができていない
もう一つパラメタを増やしてこうしたほうがいい
fn average(self: I) -> f64 {
self.into_iter().fold((0.0, 1.0, 0.0), |(ave, size, fix), n| {
let diff = (n.to_f64().unwrap() - ave) / size - fix;
let new_ave = ave + diff;
(new_ave, size + 1.0, (new_ave - ave) - diff)
}).0
}
>>387
イテレータメソッド化するにはそのためのtrait宣言が必須
もしわからないならitertoolsなどのイテレータ拡張ライブラリを見よう
>>389
標準ライブラリのsum()がtrait Sumを使っているからtrait Averageでもまあいいとは思う
ただし今回はイテレータメソッド拡張のみに用いているようだからtrait IteratorExtなどの命名がわかりやすいとは思う
397デフォルトの名無しさん
2021/12/27(月) 21:56:50.25ID:20E7BwbM IteratorExt大草原、まじに入院してほしいw
398デフォルトの名無しさん
2021/12/27(月) 22:01:57.73ID:6/3kWl6D イテレータメソッドにする必要ある?
399デフォルトの名無しさん
2021/12/27(月) 22:15:24.91ID:N7w3YVE+ >>398
標準ライブラリにおいてsum()やproduct()
それを一般化したfold()やreduce()
さらにmax()やmin()など当然イテレータメソッドになっている
むしろ今回のaverage()だけをイテレータメソッドにしない理由が見当たらない
標準ライブラリにおいてsum()やproduct()
それを一般化したfold()やreduce()
さらにmax()やmin()など当然イテレータメソッドになっている
むしろ今回のaverage()だけをイテレータメソッドにしない理由が見当たらない
400デフォルトの名無しさん
2021/12/27(月) 22:20:18.56ID:6/3kWl6D >>399
じゃあなんで標準ライブラリにないの?
じゃあなんで標準ライブラリにないの?
401デフォルトの名無しさん
2021/12/27(月) 22:25:16.01ID:h+0xE8z4 カハンの加算使ったのか
402デフォルトの名無しさん
2021/12/27(月) 22:31:56.63ID:/o/Y1bP3 >>400
入力型と出力型で大量の組み合わせ(例:i32→f32)が用途に応じて要求されるのと
単純に合計をサイズで割った平均でよい用途もあれば
件数が多いと合計がオーバーフローするからその対策が欲しい用途もあれば
桁が大きく異なるデータ列の場合に浮動小数点の誤差改善が欲しい用途など多岐にわたる
だから平均を標準ライブラリで何か一つ用意は無理
入力型と出力型で大量の組み合わせ(例:i32→f32)が用途に応じて要求されるのと
単純に合計をサイズで割った平均でよい用途もあれば
件数が多いと合計がオーバーフローするからその対策が欲しい用途もあれば
桁が大きく異なるデータ列の場合に浮動小数点の誤差改善が欲しい用途など多岐にわたる
だから平均を標準ライブラリで何か一つ用意は無理
403デフォルトの名無しさん
2021/12/27(月) 22:51:58.74ID:Btn3kp2t 単にこれまで標準ライブラリに入れようとした人がいなかったか
そういう人はいたが必要性を説得できなかっただけでしょう
sumやproductに比べるとユースケース限られるしね
そういう人はいたが必要性を説得できなかっただけでしょう
sumやproductに比べるとユースケース限られるしね
404デフォルトの名無しさん
2021/12/27(月) 23:21:10.48ID:iNGO9QKv "ave"のせいで頭に入ってこない
405デフォルトの名無しさん
2021/12/28(火) 00:10:56.21ID:THzUMFur 「件数が多いと合計がオーバーフローするからその対策が欲しい用途」そんな考えがオカシイ
sumですらオーバーフローに言及しているだけで対策が欲しいから、だからstdじゃないという理由では無い
https://doc.rust-lang.org/std/iter/trait.Iterator.html#panics-3
When calling sum() and a primitive integer type is being returned, this method will panic if the computation overflows and debug assertions are enabled.
必要性を説得出来ないだけというのが正しい。浮動小数の加減算による誤差蓄積だって、浮動小数を扱うなら当然起こることだが
誤差改善が欲しい用途があるからstdじゃないとか嘘ばっかり言わないで?おまえさ、迷惑だからRust辞めてくれよ?
最小限、分かったふりで糞まき散らすな?
sumですらオーバーフローに言及しているだけで対策が欲しいから、だからstdじゃないという理由では無い
https://doc.rust-lang.org/std/iter/trait.Iterator.html#panics-3
When calling sum() and a primitive integer type is being returned, this method will panic if the computation overflows and debug assertions are enabled.
必要性を説得出来ないだけというのが正しい。浮動小数の加減算による誤差蓄積だって、浮動小数を扱うなら当然起こることだが
誤差改善が欲しい用途があるからstdじゃないとか嘘ばっかり言わないで?おまえさ、迷惑だからRust辞めてくれよ?
最小限、分かったふりで糞まき散らすな?
406デフォルトの名無しさん
2021/12/28(火) 00:45:10.69ID:vzPVHyZI407デフォルトの名無しさん
2021/12/28(火) 00:52:41.14ID:We8KhoPF408デフォルトの名無しさん
2021/12/28(火) 01:20:29.34ID:vzPVHyZI409デフォルトの名無しさん
2021/12/28(火) 01:57:17.15ID:We8KhoPF410デフォルトの名無しさん
2021/12/28(火) 02:00:22.76ID:We8KhoPF411デフォルトの名無しさん
2021/12/28(火) 02:37:31.31ID:vzPVHyZI 多数あり外部で十分派なのでそこは興味ない
sortは2種類しかなく2種類とも標準ライブラリでサポートしている
sortは2種類しかなく2種類とも標準ライブラリでサポートしている
412デフォルトの名無しさん
2021/12/28(火) 09:30:51.41ID:y5zg5Cpt >>411
じゃ一番メジャーな外部ライブラリを教えてよ
じゃ一番メジャーな外部ライブラリを教えてよ
413デフォルトの名無しさん
2021/12/28(火) 10:24:44.25ID:ZpntEDp9 外部で十分と言えば、cratesは先着順で名前取れるからこの先優良ライブラリ程クソみたいな名前になっていくよね
414デフォルトの名無しさん
2021/12/28(火) 10:41:12.74ID:zga8SsrA415デフォルトの名無しさん
2021/12/28(火) 11:15:50.74ID:ZpntEDp9 ライブラリの永続性を保つのに名前でマッチさせるのやめてUUIDかハッシュか何かでマッチさせれば良かったのにみたいな気持ちはある
416デフォルトの名無しさん
2021/12/28(火) 11:32:06.72ID:HJMjm+0C >>414
横から失礼。
個人的にはそもそもcrate.io に頼るのがあまり好きでないなと。
Rust に限らない話だけど、こういった中央集権的なリポジトリを用意すること自体が名前争奪戦の元になるのではないかなと。
それぞれのWEBサイトで勝手に配布すればいいのにってね。
バージョン管理方法の方法論なんかも関わるから簡単な事ではないんだろうけど。
横から失礼。
個人的にはそもそもcrate.io に頼るのがあまり好きでないなと。
Rust に限らない話だけど、こういった中央集権的なリポジトリを用意すること自体が名前争奪戦の元になるのではないかなと。
それぞれのWEBサイトで勝手に配布すればいいのにってね。
バージョン管理方法の方法論なんかも関わるから簡単な事ではないんだろうけど。
417デフォルトの名無しさん
2021/12/28(火) 11:35:30.26ID:QBGkL4gv 現状でもGitHubから直接落としてくることも出来るけど、GotHubのリポジトリは消せてしまうからな
418デフォルトの名無しさん
2021/12/28(火) 13:40:51.12ID:XD/wAJcN cargo updateでマイナーバージョンアップやらせるのも規約決めたり工夫ご必要だし
専用のリポジトリ用意する方がわかりやすくはあるような
crates.io以外にも複数のリポジトリを混在して使えるようにできれば良いのかな
専用のリポジトリ用意する方がわかりやすくはあるような
crates.io以外にも複数のリポジトリを混在して使えるようにできれば良いのかな
419デフォルトの名無しさん
2021/12/28(火) 14:10:43.98ID:Qs/YVt0a cargoはどこからでも落とせる
crates.ioなみに安全性、信頼性、永続性が確保できるんなら好きにすればいい
crates.ioなみに安全性、信頼性、永続性が確保できるんなら好きにすればいい
420デフォルトの名無しさん
2021/12/28(火) 14:45:21.34ID:ZpntEDp9 永続性を謳うサービスで名前で管理したらそりゃあいい名前の取り合いになるよなあ
421デフォルトの名無しさん
2021/12/28(火) 14:48:37.23ID:XD/wAJcN422デフォルトの名無しさん
2021/12/28(火) 15:16:22.59ID:c9bIiubz GoみたいにGithubがデファクトスタンダードなレジストリになっても一覧性の面で不便だし、crates.ioでいいと思うけどなあ
423デフォルトの名無しさん
2021/12/28(火) 21:31:42.32ID:VUBOa1a1 セキュリティ監査付きのcrates.ioクローンが欲しい
424デフォルトの名無しさん
2021/12/28(火) 21:33:45.43ID:m5VlhgmG average()が気になってcratesだかcargoだか話逸らしに聞こえる
425デフォルトの名無しさん
2021/12/28(火) 22:07:01.63ID:a7HoB6QX ぼぼぼ、ぼくちんのために誰か優秀なaverage()をおながいします
426デフォルトの名無しさん
2021/12/28(火) 22:22:38.58ID:ndrZKvgW >>423
cargo auditでは足りない?
cargo auditでは足りない?
427デフォルトの名無しさん
2022/01/01(土) 09:34:17.63ID:f7mn356m428デフォルトの名無しさん
2022/01/01(土) 19:34:25.31ID:u2SyaqDt Why is my Rust build so slow?
429デフォルトの名無しさん
2022/01/01(土) 20:01:31.38ID:YfLqYQwV Because your PC is poor spec.
430デフォルトの名無しさん
2022/01/01(土) 23:44:42.88ID:193tzZ58 https://fasterthanli.me/articles/why-is-my-rust-build-so-slow
この人の場合クソデカ型のせいでコンパイルが遅かったという話
この人の場合クソデカ型のせいでコンパイルが遅かったという話
431デフォルトの名無しさん
2022/01/02(日) 10:42:43.84ID:adsjh4PJ warpがクソみたいに重いって書いてるな
432デフォルトの名無しさん
2022/01/02(日) 11:21:24.79ID:ulXuEZX0 sccacheとか入れてみるか
433デフォルトの名無しさん
2022/01/02(日) 13:52:17.06ID:o9R7ffl7 当日お急ぎ便でSSDを買った
434デフォルトの名無しさん
2022/01/02(日) 14:41:20.14ID:N3sGBcjr >>432
bin crateのビルドに時間かかるなら sccache は効果薄いのでは
bin crateのビルドに時間かかるなら sccache は効果薄いのでは
435デフォルトの名無しさん
2022/01/02(日) 14:53:21.62ID:3FXnOBLq 高度IT人材、富士通は最大年収3500万円へ
「富士通年収3500万!」日本のIT企業の年収も、高額化してきました
AI人材の獲得に超本気 NECが新人事制度を9人に適用、富士通は最大年収3500万円へ
【年収3500万円も】富士通、「ジョブ型」人事制度を導入 幹部社員から 高度IT人材
来年度から副業解禁 人材多様化へ―大同生命次期社長
第一生命HD、副業解禁 約1万5000人対象
第一生命HD、副業解禁 1万5000人対象―大手生保初
IHI、国内8000人の副業解禁 重厚長大企業も転機
IHI、社外兼業を解禁 社内副業もルール化
「富士通年収3500万!」日本のIT企業の年収も、高額化してきました
AI人材の獲得に超本気 NECが新人事制度を9人に適用、富士通は最大年収3500万円へ
【年収3500万円も】富士通、「ジョブ型」人事制度を導入 幹部社員から 高度IT人材
来年度から副業解禁 人材多様化へ―大同生命次期社長
第一生命HD、副業解禁 約1万5000人対象
第一生命HD、副業解禁 1万5000人対象―大手生保初
IHI、国内8000人の副業解禁 重厚長大企業も転機
IHI、社外兼業を解禁 社内副業もルール化
436デフォルトの名無しさん
2022/01/02(日) 21:56:13.39ID:Uu3cvt4h 効率を求め過ぎてモノリシックになりすぎると様々なコストが上昇してしまう
そこで分割
さらに内部もcrate分割で並行コンパイル
そこで分割
さらに内部もcrate分割で並行コンパイル
437デフォルトの名無しさん
2022/01/04(火) 02:27:09.98ID:L+p8nbVX Rustでノードが追加されたり消されたりする双方向グラフ扱いたくなったらどうするんだろ
Arenaじゃ追加削除してるうちにゴミがメモリ圧迫していくし
Arenaじゃ追加削除してるうちにゴミがメモリ圧迫していくし
438デフォルトの名無しさん
2022/01/04(火) 09:43:25.00ID:aGnbM+4r >>437
Cursor使う
Arenaの場合はfree list用意して削除済み要素を再利用すればよい
Arenaが埋まったらreallocするのではなく同じサイズの新たなArenaを獲得していくようにすれば
不要になったArenaから解放できるからmalloc使う場合と同等のメモリ使用量に抑えられるかと
これでも不足するなら copy GC 的に compaction するしかなさそう
Cursor使う
Arenaの場合はfree list用意して削除済み要素を再利用すればよい
Arenaが埋まったらreallocするのではなく同じサイズの新たなArenaを獲得していくようにすれば
不要になったArenaから解放できるからmalloc使う場合と同等のメモリ使用量に抑えられるかと
これでも不足するなら copy GC 的に compaction するしかなさそう
439デフォルトの名無しさん
2022/01/04(火) 18:15:54.62ID:L+p8nbVX >>438
なるほど…… 結構ガッツリ実装しなきゃいけなそうね。ありがとう。最後はGCを実装することになりそうなので、それならいい感じのGCを残しておいてくれたら良かったのにって気になるな
なるほど…… 結構ガッツリ実装しなきゃいけなそうね。ありがとう。最後はGCを実装することになりそうなので、それならいい感じのGCを残しておいてくれたら良かったのにって気になるな
440デフォルトの名無しさん
2022/01/04(火) 18:22:33.23ID:L+p8nbVX Cursorってなんでしょう?
441デフォルトの名無しさん
2022/01/04(火) 19:44:07.16ID:aGnbM+4r >>440
これのこと (まだunatable)
https://doc.rust-lang.org/std/collections/linked_list/struct.CursorMut.html
これのこと (まだunatable)
https://doc.rust-lang.org/std/collections/linked_list/struct.CursorMut.html
442デフォルトの名無しさん
2022/01/04(火) 20:59:48.62ID:/2oFrrnl443デフォルトの名無しさん
2022/01/04(火) 22:15:51.15ID:aGnbM+4r >>442
GCのライブラリ使ったことある?実用的だった?
GCのライブラリ使ったことある?実用的だった?
444デフォルトの名無しさん
2022/01/04(火) 22:53:03.36ID:NZNEJALT 特殊な案件でしかGCを使うことはないため
その場合は汎用GCライブラリ利用よりも
データ構造とアロケーションとGCを密に設計する方がベターかも
その場合は汎用GCライブラリ利用よりも
データ構造とアロケーションとGCを密に設計する方がベターかも
445デフォルトの名無しさん
2022/01/05(水) 00:28:17.64ID:GzN74lxE ちゃんとしたスマートポインタを自作する時点で結構大変だから用途特化した方が確かによさそう
446デフォルトの名無しさん
2022/01/05(水) 01:03:11.75ID:o/mlVe5X グラフみたいなデータ構造を実装するだけでも、GCが必要になったりするもんなん?
447デフォルトの名無しさん
2022/01/05(水) 01:37:16.98ID:hbslRCuW >>441
ありがとうございます!
ありがとうございます!
448デフォルトの名無しさん
2022/01/05(水) 01:46:20.36ID:yOKwmyBj グラフ構造表現するだけならArenaや、少し安全にするならGenerationalArenaで事足りるかと
copy GC的なものが必要になるのは大量にノードを作成してほとんど削除、一部残存みたいな状況でfreeできないArenaが残ってしまうケース
copy GC的なものが必要になるのは大量にノードを作成してほとんど削除、一部残存みたいな状況でfreeできないArenaが残ってしまうケース
449デフォルトの名無しさん
2022/01/05(水) 04:00:13.07ID:6kre97ZR ちゃんとしたGCはないのに、参照カウントだけは標準ライブラリに入っていて循環参照には気をつけましょうねーって運用でカバーなのはなんか中途半端なものを感じる
そもそも参照カウントなんてGCとしてはかなりイケてない部類なのになんで参照カウントなんだ気持ちもある
そもそも参照カウントなんてGCとしてはかなりイケてない部類なのになんで参照カウントなんだ気持ちもある
450デフォルトの名無しさん
2022/01/05(水) 04:09:37.27ID:VoX97L81 単純にRcやArcはGCを目的としたものではないから
451デフォルトの名無しさん
2022/01/05(水) 06:50:20.96ID:wTheSKj8 分かってる風で語るのはカッコ悪いね
452デフォルトの名無しさん
2022/01/05(水) 07:42:18.23ID:jCayWhDI 単なるスマートポインタをGCと言っちゃうあたり・・・
あれは単にRAIIでヒープを処理してるだけのことであって
わざわざGCと呼ぶような大したもんではない
あれは単にRAIIでヒープを処理してるだけのことであって
わざわざGCと呼ぶような大したもんではない
453デフォルトの名無しさん
2022/01/05(水) 07:48:16.03ID:yhx54h3v 9分で轟沈したのに2時間後に死体蹴りせんでも。
LLVMにレジスタとスタック使わないよう教える術がないし
rustは意地でもスタックに置きたがるしplacement系が削除されたから保守的になるよね。
実際、保守的gcってどれくらい回収できんの?
LLVMにレジスタとスタック使わないよう教える術がないし
rustは意地でもスタックに置きたがるしplacement系が削除されたから保守的になるよね。
実際、保守的gcってどれくらい回収できんの?
454デフォルトの名無しさん
2022/01/05(水) 07:52:39.60ID:/PNLes9I455デフォルトの名無しさん
2022/01/05(水) 08:39:25.19ID:yhx54h3v >>454
>>450の言う通りrustのreference counting gcは
メモリ管理のためではなく共有された参照を数えるためのもので
シングルスレッド用のRcがあるのはrustがaffine typeだから
共有された可変を認めないからで、ついでに>>452の言うことも半分あってるよ。
rustは自動参照カウントにRAII併用するけどgcのない言語しか経験がない人が
gcをスマートポインタと混同するのもよくある事。
あと、rustの参照カウンタは弱参照があるから循環参照が切れる代わりに
単純な参照カウンタのオーバーヘッドが少ない・開放されるタイミングが
予測可能というメリットはないからrustが参照カウンタを用意する
メリットは>>450が指摘したものしか無いよ。
>>450の言う通りrustのreference counting gcは
メモリ管理のためではなく共有された参照を数えるためのもので
シングルスレッド用のRcがあるのはrustがaffine typeだから
共有された可変を認めないからで、ついでに>>452の言うことも半分あってるよ。
rustは自動参照カウントにRAII併用するけどgcのない言語しか経験がない人が
gcをスマートポインタと混同するのもよくある事。
あと、rustの参照カウンタは弱参照があるから循環参照が切れる代わりに
単純な参照カウンタのオーバーヘッドが少ない・開放されるタイミングが
予測可能というメリットはないからrustが参照カウンタを用意する
メリットは>>450が指摘したものしか無いよ。
456デフォルトの名無しさん
2022/01/05(水) 09:30:04.08ID:HAtvMNOo 学問的には参照カウントはGCの一方式として分類されるのが普通だよ
まあなんの前置きもなくGCといったらトレーシングGCがイメージされるというのもその通りだが
RcがGCだと言っても間違ってるということはない
RustのstdにトレーシングGCがないのは、単に標準ライブラリを大きくしない方針に従ってるだけじゃない?
本格的なGCが必要なケースは限られるし、外部クレートで十分と思うが
まあなんの前置きもなくGCといったらトレーシングGCがイメージされるというのもその通りだが
RcがGCだと言っても間違ってるということはない
RustのstdにトレーシングGCがないのは、単に標準ライブラリを大きくしない方針に従ってるだけじゃない?
本格的なGCが必要なケースは限られるし、外部クレートで十分と思うが
457デフォルトの名無しさん
2022/01/05(水) 09:44:11.20ID:l0gfYUX+ いつものやつホント気持ち悪いな
458デフォルトの名無しさん
2022/01/05(水) 12:11:20.98ID:g7d2BHp/ >>457
コテハンつけるかID変えないならまだいいんだけどな
コテハンつけるかID変えないならまだいいんだけどな
459デフォルトの名無しさん
2022/01/06(木) 01:29:23.74ID:Izanmpcc 気持ち悪さは長文から来る。reference counting gcとかわざわざ参照カウントを英文で書いてカッコつける所も
減点項目。個人の主観的には文中に>>を挟む特徴が読み手の事を一切考えないオナニーに見える
減点項目。個人の主観的には文中に>>を挟む特徴が読み手の事を一切考えないオナニーに見える
460デフォルトの名無しさん
2022/01/06(木) 08:00:17.28ID:AA9pZn/O それあなたの感想ですよね
461デフォルトの名無しさん
2022/01/06(木) 08:47:42.41ID:zkS6fEay 文中に >> 挟むのだめなのか
どのレスのこと指してるのか明確になって良いと思うが
どのレスのこと指してるのか明確になって良いと思うが
462デフォルトの名無しさん
2022/01/06(木) 09:03:44.55ID:8b5imbdG >>レス番
↑これで引用先に飛べるリンクが張られるの知らなさそう
5chにPCからアクセスしたり
専用ブラウザからアクセスしたときそうなってるのよ
↑これで引用先に飛べるリンクが張られるの知らなさそう
5chにPCからアクセスしたり
専用ブラウザからアクセスしたときそうなってるのよ
463デフォルトの名無しさん
2022/01/06(木) 10:12:38.67ID:soGE7KAW Rustのメモリ安全性ってどうやって保証してんの?
テスト?
テスト?
464デフォルトの名無しさん
2022/01/06(木) 11:33:54.14ID:Djcmy5st >>462
君はHTML知らなそうw
君はHTML知らなそうw
465デフォルトの名無しさん
2022/01/06(木) 16:21:52.81ID:a887VGZI ダメというわけじゃないが、同じ人が言ってるわけじゃないのに文中に一つにまとめて自分の考えだけを
長々と話している時点で意味わからん、リンクの話じゃない。気持ち悪さがどこからくるかという話。
感想といえばその通りで、個人的な主観と言ってるが多くの人はそう感じるのはこうではないか?という話
長々と話している時点で意味わからん、リンクの話じゃない。気持ち悪さがどこからくるかという話。
感想といえばその通りで、個人的な主観と言ってるが多くの人はそう感じるのはこうではないか?という話
466デフォルトの名無しさん
2022/01/06(木) 17:27:19.44ID:Gs63EiHG 長いから3文字にまとめて😪
467デフォルトの名無しさん
2022/01/06(木) 17:28:58.84ID:fX6pq/OF >>465
Rustスレで学級会始めるおまえも気持ち悪いよ
Rustスレで学級会始めるおまえも気持ち悪いよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国連大使「日本が中国に武力行使すると脅しをかけたのは初めて」 国連事務総長に書簡★4 [♪♪♪★]
- 台湾有事での集団的自衛権行使に「賛成」が48.8%、「反対」が44.2% ★8 [♪♪♪★]
- 【🐼】パンダ、日本で会えなくなる? 中国との関係悪化で不安の声 [ぐれ★]
- 【芸能】44歳・池脇千鶴、激変ぶりにネット衝撃 「まるで別人…」「変化が凄い!!」の声 [冬月記者★]
- 台湾有事での集団的自衛権行使に「賛成」が48.8%、「反対」が44.2% ★9 [♪♪♪★]
- なぜ立花孝志氏の言葉は信じられたのか…"異例の逮捕"が浮き彫りにした「SNSの危険な病理」 [ぐれ★]
- おい千晴😡
- ミカン高ミカンめっちゃたっかwwwwww
- 一番くじで後ろに転売ヤーが並んでいることに気付いたオタクが取った行動に👉スカッと10万いいね [329329848]
- 🏡😡
- お前らGoogleアンケートやってんの?
- すべて [793051416]
