Rustレスバトル会場
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
このスレはRustスレの隔離スレです
Rustに関するありとあらゆるレスバ・マウントを吸収するゴミ箱スレです
Rust以外の言語や気に食わないRustコードを好き放題ボロクソに叩こう!!!
逆にRust叩きもOK!!!
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured https://mevius.5ch.net/test/read.cgi/tech/1655771266/340
340 デフォルトの名無しさん sage 2022/07/24(日) 16:01:06.79 ID:kgHpDwre
>>317
> valeのGenerational References
> 参照先にアクセスするときはヒープの世代カウントと参照の世代カウントを比較して不一致だったら解放されたメモリにアクセスしたと見なせる。
それは重すぎる設計で実用的ではないですね
C++のshared_ptrもRustのRc/Arcも
参照先にアクセスするときは参照カウントへのアクセスがなくコストゼロです
RAIIによる自動解放時にようやく参照カウントを見てヒープも解放するか判断します
やはりC++のshared_ptrとRustのRc/Arcの方式が最も優れた方式と言えるでしょう https://mevius.5ch.net/test/read.cgi/tech/1655771266/354
354 デフォルトの名無しさん sage 2022/07/24(日) 18:33:44.43 ID:RaX1YBir
論点がズレたからもう一度まとめておく
Goでは無意識的にヒープにアロケーションされてしまう可能性がある
それはエスケープ解析をしないとわからない
つまりメモリ使用量も実行効率も落ちる
これは一般論
恣意的な特定のベンチの数字を言ってるわけではない
rustは明示的にヒープに置くように書くのでそのようなことは起きない
つまり理論的にはrustが1番速いし最高の言語
もう一度言うが特定のベンチの話をしているのではない バトルのネタになるかもしれないので紹介します。
https://benhoyt.com/writings/count-words/
各プログラミング言語で英単語の頻度をカウントするプログラムを書いて実行時間を比較した記事だよ。
結果だけ知りたい人は下の方までスクロールしてね。