[過去ログ]
Rust part16 (1002レス)
Rust part16 http://mevius.5ch.net/test/read.cgi/tech/1656285423/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
256: デフォルトの名無しさん [sage] 2022/07/08(金) 12:39:17.46 ID:u4+He/YT >>249 アンチは実際にプログラミングしたことがないのかね Rc<T>自体は書き換えできないのでRc<T>だけでは循環参照を作ることができない Rc<T>とWeak<T>は互いに対称ではないため直接置き換える対象ではない 例えばnewもRc::new(T)とWeak::new()で引数Tの有無からして異なる さらに多人数で作業するから強い循環参照を知らぬ間に作ってしまうとの言い訳も意味不明だ http://mevius.5ch.net/test/read.cgi/tech/1656285423/256
257: デフォルトの名無しさん [sage] 2022/07/08(金) 12:42:18.47 ID:u4+He/YT >>255 Rustは所有者がいなくなると自動的に即座にメモリ解放されるため他の言語と比べて高速かつ安全で合っている http://mevius.5ch.net/test/read.cgi/tech/1656285423/257
258: デフォルトの名無しさん [sage] 2022/07/08(金) 14:56:50.59 ID:bBPWEvXX >>257 メモリを解放しないCopying GCの方が高速なんだけどなぁ。 Rustもメモリ解放しない実装なのかね?RAIIならスタック領域しかメモリを確保しないとか。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/258
259: デフォルトの名無しさん [sage] 2022/07/08(金) 16:11:26.76 ID:VZayErSn >>258 C++もRustも仕組みは同じ RAIIによりスコープを外れた対象のスタック部分が解放される時にそのデストラクタによってヒープ部分が解放される 汎用的にはこれが最も高速かつ利便性>>253が高い Copying GCは特殊な環境で特殊な使い方に限定する場合は速いこともありうるがデメリットも多く一般的には使われることが少ない 使用メモリが多くなるとかコピーで値を移動させるため非常に遅いなどのデメリットの他に そこを指す全てのポインタ値をGCのたびに
全て修整しなければならないという致命的な欠陥がある C/C++/Rustなどでスタック上に置かれたポインタ値の全てを的確に書き換えるのは不可能なので使えない http://mevius.5ch.net/test/read.cgi/tech/1656285423/259
260: デフォルトの名無しさん [sage] 2022/07/08(金) 16:24:07.17 ID:atE4xqm8 短時間で終了するプログラムはfree呼ばずにexitした方が高速な場合がある copy gcも条件付きだが高速な場合がある 常にRAIIによるメモリ解放が他の手段より高速というのは誤り 100%正しいという風に断言するから枝葉の議論になるし最初から論理的に厳密な文章書いた方が良いよ http://mevius.5ch.net/test/read.cgi/tech/1656285423/260
261: デフォルトの名無しさん [sage] 2022/07/08(金) 16:35:35.79 ID:VZayErSn >>260 これは特殊な使い方限定の話を持ち出したら意味がない話 既に書いたようにCopying GCは汎用的には使いものにならない 一般的にはRAIIによる解放が最も高速かつ利便性が高い そのためC++でもRustでもその方法がとられている http://mevius.5ch.net/test/read.cgi/tech/1656285423/261
262: デフォルトの名無しさん [sage] 2022/07/08(金) 17:23:29.15 ID:cRmlWf2z copying GCはJavaで使われているのだが 解放しない、以外でスタックの解放(malloc的なものに対する)freeより速いものはあるの? http://mevius.5ch.net/test/read.cgi/tech/1656285423/262
263: デフォルトの名無しさん [] 2022/07/08(金) 18:32:33.29 ID:r9xh0XFc >>246 C++にもweak_ptr<>あるけど。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/263
264: デフォルトの名無しさん [sage] 2022/07/08(金) 18:32:40.38 ID:IcalP2aj RAIIがGCより高速なら RAIIの一例であるshared_ptrはGCの一例であるARCより高速ということになるが どういう原理で高速になるの? http://mevius.5ch.net/test/read.cgi/tech/1656285423/264
265: デフォルトの名無しさん [] 2022/07/08(金) 18:42:02.74 ID:r9xh0XFc でも、Firefox良く落ちるじゃん。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/265
266: デフォルトの名無しさん [] 2022/07/08(金) 18:45:00.33 ID:r9xh0XFc でも、JavaはC++も20倍速いってサイト無くなったじゃん。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/266
267: デフォルトの名無しさん [] 2022/07/08(金) 18:50:36.37 ID:r9xh0XFc >>261 だって、RustはC++0xのパクリじゃん。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/267
268: デフォルトの名無しさん [sage] 2022/07/08(金) 18:52:55.66 ID:hlO59OkW >>264 shared_ptrではRAIIによって解放しない RAIIによってデクリメントするだけ SwiftなどでのARCが遅い理由は参照型の全てにおいてshared_ptrを使用しているような状況であるためコストが高い http://mevius.5ch.net/test/read.cgi/tech/1656285423/268
269: デフォルトの名無しさん [] 2022/07/08(金) 18:54:07.09 ID:r9xh0XFc じゃあ、unique_ptr<>でいいじゃん。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/269
270: デフォルトの名無しさん [sage] 2022/07/08(金) 19:10:19.78 ID:hlO59OkW >>269 unique_ptrとshared_ptrの役割の違い、動作の違いを理解できていない君が 間違えて用いてもC++ではコンパイルが通ってしまったりして実行時に問題を引き起こす Rustは間違えて用いるとコンパイルエラーとなり通らないから安全側に救われる http://mevius.5ch.net/test/read.cgi/tech/1656285423/270
271: デフォルトの名無しさん [sage] 2022/07/08(金) 20:02:01.67 ID:A8oltmgp >>268 参照型の全てにshared_ptrを利用したら何で遅くなるの? http://mevius.5ch.net/test/read.cgi/tech/1656285423/271
272: デフォルトの名無しさん [sage] 2022/07/08(金) 21:48:50.65 ID:i9Nd4OSx >>257 即座に開放というのがOSに返却とか認識してたらアウトだぞ。 アロケーターなに使うかで実際の挙動は変わってくるからな。 普通しないがクソアロケーター使ったら、OSからみたらリーク同然になったりするし。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/272
273: デフォルトの名無しさん [sage] 2022/07/08(金) 21:53:34.22 ID:G/CdBPp1 所有者がいないとメモリ解放って間違ってるよね? 所有者がいてもブロックから出たら解放されるからコンパイルエラーが出てコンパイルされない http://mevius.5ch.net/test/read.cgi/tech/1656285423/273
274: デフォルトの名無しさん [sage] 2022/07/08(金) 22:05:32.56 ID:h7kEq7Ot OSSでうっかり強循環参照作ってしまってた例が過去スレにあったようなと掘り返してみたところ、Part11にて発見 https://github.com/DataDog/glommio/commit/677fe1dfbaf911245fbc5c3eef75532d08d784bf https://github.com/KWARC/rust-libxml/commit/bd4b120b90b2568ca6d5bfaa368a200573b87d09 http://mevius.5ch.net/test/read.cgi/tech/1656285423/274
275: デフォルトの名無しさん [sage] 2022/07/08(金) 22:23:05.26 ID:RqLk9Xjf >>272 そんなバカな認識するのはオマエだけだろw http://mevius.5ch.net/test/read.cgi/tech/1656285423/275
276: デフォルトの名無しさん [sage] 2022/07/08(金) 22:38:42.99 ID:J0vSCVey >>273 所有者がいなくなるとメモリ解放であってるよ スコープを抜けると所有者がいなくなりデストラクタが呼ばれて管理していたヒープ領域があれば解放される http://mevius.5ch.net/test/read.cgi/tech/1656285423/276
277: デフォルトの名無しさん [sage] 2022/07/08(金) 22:51:41.26 ID:j0PLF9Z7 所有権とは?の話に戻っちゃうな 複製おじさんネタで散々繰り返したやつ http://mevius.5ch.net/test/read.cgi/tech/1656285423/277
278: デフォルトの名無しさん [sage] 2022/07/08(金) 23:06:47.48 ID:QSUHt/6/ お前ら何回同じ話ループさせたら気が済むの? http://mevius.5ch.net/test/read.cgi/tech/1656285423/278
279: デフォルトの名無しさん [sage] 2022/07/08(金) 23:08:26.12 ID:h7kEq7Ot なんか合ってるのか分からんけど最近思うこと Rustの言語仕様内に明確に含まれているのはlifetimeだけで 所有権とか所有者ってのは実はただのメタファーでしかない? http://mevius.5ch.net/test/read.cgi/tech/1656285423/279
280: デフォルトの名無しさん [] 2022/07/08(金) 23:12:47.70 ID:r9xh0XFc C++はコンテナのアロケータと積み荷のアロケータが別とかできるくらい柔軟ですよ。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/280
281: デフォルトの名無しさん [] 2022/07/09(土) 00:08:13.16 ID:Xo3+Ls6P コンセプトをコンパイラにハードコーディングして変えられないようにしたのがRustってこと? http://mevius.5ch.net/test/read.cgi/tech/1656285423/281
282: デフォルトの名無しさん [sage] 2022/07/09(土) 03:43:55.29 ID:dAPednzC >>256 こいつのような気持ち悪い反吐が出る輩がいるからRustがいまいちメジャーにならない。公式ドキュメント書き換えてこいゴミ 上の文章読んでどの辺が「アンチ」だ?ゴミのくせにイキって恥かいてんじゃねーわw The Rust Programming Language 日本語版 循環参照は、メモリをリークすることもある 循環参照を回避する: Rc<T>をWeak<T>に変換する https://doc.rust-jp.rs/book-ja/ch15-06-reference-cycles.html http://mevius.5ch.net/test/read
.cgi/tech/1656285423/282
283: デフォルトの名無しさん [sage] 2022/07/09(土) 06:36:52.71 ID:x6eGZQ2/ >>276 間違ってることを合ってると強弁するのいい加減辞めなよ http://mevius.5ch.net/test/read.cgi/tech/1656285423/283
284: デフォルトの名無しさん [sage] 2022/07/09(土) 07:31:04.73 ID:O4my42l1 認める事を全くせず、大したコードも書いてないのにRustやってる事だけが自尊心だから勝手にアンチだの決めつけて いつも人を見下して偉そう。プロジェクトチームの雰囲気はそいつがいるだけで常に最悪、チームの重荷・会社の害悪。 口癖は「意味不明」 http://mevius.5ch.net/test/read.cgi/tech/1656285423/284
285: デフォルトの名無しさん [sage] 2022/07/09(土) 10:34:16.63 ID:OnqDT6DB >>282 実際にコードを自分で書いて理解したほうがいいよ。 その公式Bookに書かれている内容はもちろん正しいし、 その相手>>256の書き込み内容も正しくて、 両者に矛盾はないよ。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/285
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 717 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.020s