Rust part30

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2025/05/28(水) 09:31:36.60ID:ciITeZ5D
公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust

公式ドキュメント
https://www.rust-lang.org/learn

Web上の実行環境
https://play.rust-lang.org

※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/

※Rustを学ぶ際に犯しがちな12の過ち
https://dystroy.org/blog/how-not-to-learn-rust

※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/

※次スレは原則>>980が立てること

前スレ
Rust part29
https://mevius.5ch.net/test/read.cgi/tech/1746200850/

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
2025/06/02(月) 21:28:48.01ID:uzsj2Y7F
>>417
>小さいメモリを確保したり解放したりを頻繁にやるわけではないユースケースでは GC はそんなに速度に影響しない。
真逆だろ
2025/06/02(月) 21:28:51.61ID:XWrf3Dm6
キリトリ記事禁止の呪いか
思いつたことはすべて公表しなければならないという
2025/06/02(月) 21:40:20.45ID:OnNK0eHp
>>421
確保しようとするメモリが大きくても小さくても一回あたりの確保・解放に必要な実行コストはあまり差がない。
大きさではなく回数が効いてくるので頻繁な確保・解放がないなら GC のコストは小さいよ。
画像処理関係は大きなデータは扱うがメモリを確保・解放する回数が大きいわけではない。
2025/06/02(月) 21:43:30.36ID:nIRomA7P
>>423
C/C++/Rustが絶対に勝つ利用法だ
425デフォルトの名無しさん
垢版 |
2025/06/02(月) 21:48:51.08ID:GgLxuemZ
>>413
Dockerとか使ったことないの?
2025/06/02(月) 21:56:07.57ID:OnNK0eHp
Go の GC もヒープメモリの確保と解放のコスト自体は C と同程度じゃないかな。
生存しているか (参照が残っているか) どうかの判定にコストがかかっているので依存関係の複雑なデータ構造だと速度的には不利になる。
どうせそのあたりを意識しながら設計するなら Go より Rust のほうがいいかなぁとは思う。
2025/06/02(月) 22:01:25.40ID:OnNK0eHp
逆にもう手に負えないほど複雑なデータ構造になってしまったときは GC の実行コストを受け入れてでも任せてしまいたいということはあるかもね。
2025/06/02(月) 22:01:47.11ID:bKFtipAC
>>426
GC自体は軽い処理で、それ自体のコストが問題になることは少ない
問題は、現在主流のGCの実装では、予測困難なタイミングでGCによる比較的長時間のアプリケーションの停止が生じること
そもそも明示的なdeleteやRAIIや参照カウントのような方法も決してゼロコストではないわけで、そのコストを払うタイミングが違うんだよ
2025/06/02(月) 22:03:46.27ID:J5nAKj7S
>>425
Docker創始者が明言「WASM+WASIがあればDockerは不要」
https://twitter.com/solomonstre/status/1111004913222324225
https://twitter.com/thejimwatkins
2025/06/02(月) 22:26:19.81ID:GjabKUPP
なお>>429 tweetから丸6年後の今
2025/06/02(月) 22:28:58.46ID:UNbfduAo
>>428
1行目から2行目で世界線が違うのか?
2025/06/02(月) 22:33:31.23ID:bKFtipAC
>>431
あなた以外には理解いただけているものと思うが、念のため補足すると、
GCの問題は処理コストの大きさではなく、そのコストを払うタイミングにある
2025/06/02(月) 22:44:13.11ID:ur17A/w2
>>432
要するにこれが良いと言う事か

> もうすぐGCが進化するからフリーランチ出来るね
> https://qiita.com/hez2010/items/e0a3573ecb3b14325336
> https://github.com/dotnet/runtime/discussions/115627

新計測データが来てる
2025/06/02(月) 22:45:31.08ID:MPKk5iPb
>>432
GCはどの方式でも処理コストが高い
これがGC依存言語が遅い原因
2025/06/02(月) 22:48:22.30ID:MPKk5iPb
GCするなら一斉停止が最も低コスト
並行しながらGCは時間の分散ができる代わりにコストの増大を招く
2025/06/02(月) 22:59:32.23ID:ur17A/w2
Satori GC (No Gen0)は良さそうだから、さっさとGodotで試したデータを上げたら良いのに
2025/06/02(月) 23:06:29.24ID:ur17A/w2
godot使いが言っている最大レイテンシーが~5ms程度が実際に達成されるのか見て見たい
2025/06/02(月) 23:16:57.64ID:9HexqnhX
現実を無視して自己満足
2025/06/02(月) 23:35:07.57ID:e80Lnwqt
5msが本当ならゲームチェンジャー

>>434
GC言語が楽なのは分かるから
逆にGC憎くしだな
2025/06/02(月) 23:41:42.00ID:MPKk5iPb
>>439
GCを用いる以上はGCのコストを無くす方法はない
必ずペナルティが生じる
2025/06/02(月) 23:43:45.20ID:e80Lnwqt
>>440
そこはクライアント側CPUはあまっているから大丈夫

ゲームだとGPU律速
DB/IOがあればそれで律速
2025/06/02(月) 23:50:27.08ID:e80Lnwqt
というかJVMが取り入れたら世界線レベル
DSQLで1秒想定だったのが200分の1
2025/06/02(月) 23:52:03.77ID:w80jJ2EG
GCはメモリ消費量の問題もあるため論外
何をするにも不利
2025/06/02(月) 23:57:57.40ID:ab+RrVue
>>439
無学だな
GCコストを下げる魔法は存在しない
2025/06/03(火) 00:01:16.56ID:7WxgzsHE
>>420
Geminiの方が優秀だね
2025/06/03(火) 00:06:53.82ID:7WxgzsHE
見せて欲しい>>444氏の学とやらを
447デフォルトの名無しさん
垢版 |
2025/06/03(火) 01:21:41.32ID:WkxEnd7y
node.jsでサーバー構築してるけどRustにしたほうがええんかなあ
2025/06/03(火) 09:39:37.51ID:xhVN3bhy
Rustの利点が活きるAPIサーバなら普通にいいんじゃないか
フロントもある普通のWebアプリケーションだったら辞めたほうがいいと思うが
2025/06/03(火) 10:20:07.21ID:cgHky4oh
もし移行コストに見合った効果が出るのであれば相当にトラフィックの多いサーバーだろうから、
なんとなくの雰囲気や好みじゃなくて論理的に判断すべきだろう
たぶんそうではないんだろうけど、その場合モチベーションは無益な徒労を続ける上で無視できない重要な要素だから、Rustを採用することでモチベーションが上がるならやればいいんじゃないか
2025/06/03(火) 10:46:12.79ID:97yIcMrS
>>423
arena使わないとRustがGC言語に速度で負けるのはどういう場合かな?
大昔ならいざ知らず現代のGCが問題になるのはそんな単純なケースじゃないよ
2025/06/03(火) 11:29:40.94ID:g1P4UzEL
>>450
arenaを使っていないRustプログラムがほとんど
もちろんGC言語より速い
2025/06/03(火) 12:38:00.30ID:SsEYb5J+
GC言語は速さと省メモリで勝ち目は一切ないため他の理由がある時のみ用いる
2025/06/03(火) 12:47:09.85ID:rqu5SnLS
>>449
構築コストはRustもNode.jsも覚えた人には同じ
省メモリと捌けるクライアント数はRustが圧倒的
2025/06/03(火) 13:01:58.34ID:Kt5mEPBd
>>453
クライアント数が増えたらサーバーの数を増やせばいいだけだ
一般に、Node.jsのエンジニアよりもRustのエンジニアの単価の方が平均的には高いから、
Rust採用による人件費の増加とサーバーのコスト低減効果のどちらが優位か?という金の問題に帰着する
先のAurora DSQLの例では明らかに後者が優位だが、>>447含め大多数のプロダクトでは状況は異なる
いやそうではない、Rustエンジニアの単価は安い、例えば俺のように、と主張するのなら話は別だかな
2025/06/03(火) 13:04:22.23ID:rqu5SnLS
>>454
Rustが使える人にとってそんなこと関係ない
Rustで書けばサーバ数も激減できる
2025/06/03(火) 13:09:50.21ID:/7yVoUF5
>>455
Rustはコーダーに好き勝手させないためのマネジメント向け言語だよ。

unsafeの扱いは問題あるけど、そのうちコーティング規約でライブラリアン以外はunsafe使えなくするケースが増えるんじゃないんかね。
2025/06/03(火) 13:19:44.29ID:VYRLmXgA
>>456
無知がデタラメ書くのは止めなさい
Webサーバー構築でunsafeなんて出て来ない
2025/06/03(火) 13:42:18.60ID:/7yVoUF5
>>457
「コーダーがunsafeを使わない」と「コーダーはunsafeを使えない」は別物。
マネジメントサイドはコーダーを信用しないから、禁止できるなら禁止するだろ。
2025/06/03(火) 13:57:30.31ID:VYRLmXgA
>>458
ほとんどの分野でunsafeは使われない
unsafeを使うなら関係者の合意形成が必須レベル
2025/06/03(火) 14:14:20.21ID:xhVN3bhy
unsafeって、必要もないのにやったところで何かが書きやすくなるような性質のものではないと思うが
C言語上がりだとおまじないみたいに全部unsafeして生ポインタ操作とか平気でやるのか?
2025/06/03(火) 14:29:03.14ID:idwVU/iA
後知恵で、やっぱ必要かなと思ったらやる
unsafeを使わなかった敗者がunsafeで復活するかもしれない
2025/06/03(火) 14:43:50.09ID:VYRLmXgA
熟練者になるまでunsafeの存在を忘れろ
初心者がunsafeを必要と思うのは無知と勘違いだ
2025/06/03(火) 17:45:47.84ID:ZZq2n2YO
IT土方にunsafeを使わせるな
2025/06/03(火) 17:51:28.94ID:+aVViU0f
FFIやるとunsafeはすぐ出てくる
webとは関係ないが
2025/06/03(火) 18:09:13.25ID:FQzY7vd6
unsafe禁止とか言ってないで真面目にレビューしろ
2025/06/03(火) 19:07:45.18ID:idwVU/iA
処刑されないこともあるが裁判にかけられる
2025/06/03(火) 20:15:54.93ID:E3wqr71x
>>464
FFIでも整備されていてunsafe不要な分野も多いね
未整備なら素人は手を出さない方が
2025/06/03(火) 20:26:02.65ID:/7yVoUF5
ほとんどの分野で使われないなら、なおさらunsafe禁止すべき。

膝を撃ち抜く自由を無くしたのがRustの利点なのだから、unsafeを使えないSafeRustのみのコーダーモードを用意すべきかと。
#![forbid(unsafe_code)]とかがデフォルトにならんかね。
2025/06/03(火) 20:50:43.22ID:idwVU/iA
正確な判断はunsafeが使われた後でしかできないよ
後で訂正や追加されるようなルールは守りたくないと思ってる者ほど事前にルールを確定しようとする
2025/06/03(火) 20:56:07.12ID:RCZNeyZK
そう
ソースを確かめず、アプリやサービスで判断する場合
今の Rust は SafeRust との明示がない限り
デフォルトは unsafe Rust だと言う事
2025/06/03(火) 21:05:31.59ID:E3wqr71x
safe = Rustコンパイラが安全性を保証する
unsafe = 他の言語と同じくプログラマ自己責任
472デフォルトの名無しさん
垢版 |
2025/06/03(火) 21:09:34.02ID:gJYjdNIy
Cコードを呼び出すときはunsafeを使わざるを得ないけどな
2025/06/03(火) 21:19:12.46ID:KTSdNflr
> Cコードを呼び出すときはunsafeを使わざるを得ないけどな

△ Cコードを呼び出すとき
○ dll関数を呼び出すとき (その関数がRustで書かれていても)

ABI策定はどうなっているのか
2025/06/03(火) 21:33:34.20ID:NXfOWsak
いつの間にか serde_yaml のリポジトリがアーカイブされてる…
2025/06/03(火) 21:59:05.52ID:Ygo17qEp
>>474
https://doc.serdeyml.com/serde_yml/
2025/06/03(火) 22:11:40.12ID:Y8fW8uWd
>>475
0.0.12

Build Status FAILING
477デフォルトの名無しさん
垢版 |
2025/06/03(火) 22:19:03.78ID:WkxEnd7y
Node.jsのNestJS使ってる
使いやすくてすばらしい
Rustでもこういうフレームワーク使いたい
2025/06/03(火) 22:42:41.40ID:5VWOQt07
>>473
Rust ABIはUndefined
2025/06/03(火) 22:50:13.08ID:/5P14uNg
>>474
Rustのライブラリモデルの宿命だな
2025/06/03(火) 23:00:49.81ID:wy1dGgl0
>>474
これunsafe使いまくり
なのに今後何があっても直さないのか
2025/06/03(火) 23:24:47.93ID:ovxpNXrv
>>474
serde-yamlの管理人はsyn/proc-macro2やthiserror/anyhowなど幅広くやってるdtolnayだね
2025/06/03(火) 23:28:35.41ID:bSuEbnBN
それらも用心が必要という事態か?
2025/06/03(火) 23:29:41.66ID:bSuEbnBN
>>479
こんなに簡単にはしご外されるモデルなんだね
2025/06/03(火) 23:30:11.84ID:vFCBrwxa
yamlの仕様は闇が深いので関わらない方がいい
2025/06/03(火) 23:39:58.59ID:wc70ijSk
>>481
C++⇔Rust FFIのcxxも
2025/06/03(火) 23:47:22.51ID:C8xHrNgY
MS/editが外部crate依存が少ないのは納得した
2025/06/03(火) 23:49:19.18ID:j/0hkWys
>>486
それは不利だよ
自分で何もかもメンテしないといけない
2025/06/03(火) 23:50:49.03ID:C8xHrNgY
>>487
事実になっとくしただけだぞ
2025/06/03(火) 23:56:35.38ID:C8xHrNgY
前スレのバグのFixがリリースされてた
https://github.com/microsoft/edit/releases/tag/v1.1.0

他にもcrashするバグがあったのか
Pressing Alt followed by a non-English keyboard key will not crash Edit anymore (#244)
2025/06/04(水) 00:09:54.76ID:pcxtiJDU
>>480
unsafe依存なserde-yamlではなく
safeなyaml-rust2が今は主流
491デフォルトの名無しさん
垢版 |
2025/06/04(水) 00:18:09.37ID:qT5RunOJ
やっぱシリアライズ形式はjsonだな
2025/06/04(水) 00:50:17.21ID:rKXA09I4
メンテがいなくなり
移行先もなく
自分で手を入れる必要で
ようやくローカルフォーク
2025/06/04(水) 00:52:07.22ID:rKXA09I4
逆に最初から全てを自分で持つのはメンテが辛いだけで不利
2025/06/04(水) 01:06:11.88ID:P1CiPc1i
GUIライブラリの話もそうだけどこうやっていろんなライブラリを調べたりアップデートに対応したりするコストがRustはバカ高いんだよね

メンテナンスが急に止まったりしない安心して使える鉄板ライブラリの塊が増えないとバカ高いコストを支払ってもお釣りが来るCloudfrare級のところ以外からは見放さされる
2025/06/04(水) 01:15:23.81ID:ekCnNhZO
メンテ必要なければ止まっていても何も困らない
必要になってから次策を考えればいい
2025/06/04(水) 02:00:11.13ID:NPEulGl+
>>494
鉄板ライブラリが充実してる言語は何おすすめ?
2025/06/04(水) 06:07:28.58ID:efmS46GF
>>496
どうせ論外論法なんだろ
2025/06/04(水) 08:00:19.73ID:k0G95ru9
Javaがエンタープライズで世界取ったのは、どこでも動くではなく
充実の標準&企業主体のデファクトスタンダードライブラリの存在によるところが大きいとは思う
2025/06/04(水) 08:14:31.76ID:G6dCwUPn
それを言っても卵が先か雛が先かになるから仕方がない
Javaがエンタープライズで勝った大きな根本要因の一つは、UNIXサーバーをターゲットとした開発をWindows上で問題なく行えるから
その意味では、どこでも動くからというのは極めて重要な性質
2025/06/04(水) 08:30:07.30ID:uvY60KW1
外のパッケージに依存すれば脆弱性も共有することになるし、サプライチェーン攻撃のリスクもある
crateのようなパッケージマネージャというのは完全に性善説で成り立っていて、
潜在的にはそこらのフリーソフトなんかより遥かに危険なのだが、
それを騒ぎ立てて経営層に問題として認識させることはエンジニアの間ではタブーとなっている
2025/06/04(水) 09:18:54.95ID:6ElB2UK6
Rustで使われてたjemallocが開発終了してしまった件
2025/06/04(水) 09:21:52.15ID:YYmNTYsA
広い意味では自動化に人気がないだけだな
手動のほうが良いというのがタブーになる
503デフォルトの名無しさん
垢版 |
2025/06/04(水) 09:37:55.19ID:qT5RunOJ
AWS社員はもっとRustライブラリの保守に尽力しろ
2025/06/04(水) 09:38:26.06ID:XvRleYyH
>>501
終わってない。
facebook の管轄下に移動した。
https://github.com/facebook/Jemalloc
2025/06/04(水) 10:03:06.02ID:YYmNTYsA
「どこでも動く」の究極の形は計算機がなくてもできるカードゲームや将棋みたいなやつだ
2025/06/04(水) 13:04:56.35ID:k6hN7zFM
>>474
「アーカイブ」という言葉の意味は、メンテナンスしなくなったから、
書庫の様な場所に保管して開発を終える、という意味?
2025/06/04(水) 13:26:32.91ID:uvY60KW1
>>506
GitHubにおけるアーカイブは、開発終了したリポジトリを凍結する機能
引き続き読取は可能だが書込みは不可になる
2025/06/04(水) 14:18:22.24ID:l+TAz4MO
アーカイブされたのは2024年3月
serde_yamlを使いたい人は今後もそのまま使えて使われてる
2025/06/04(水) 14:20:34.09ID:l+TAz4MO
ただしserde_yamlはCから移植のunsafe_ libyamlが下請け
safeなyaml_rust2をベースがいいだろうね
2025/06/04(水) 16:14:01.87ID:YYmNTYsA
機械化(機械に責任転嫁)できないという点だけを見れば自己責任は禁忌だが
2025/06/04(水) 16:49:49.89ID:k6hN7zFM
Rust推進者って、Linuxもそうだったが、自分は変わらず
世界の方を変えようとしているから、ウザイ。
自分が(社会的地位が)上であることは絶対的にゆるぎないと思ってる気がするよ。
2025/06/04(水) 16:51:13.65ID:k6hN7zFM
むしろ、今までずっとそのようにしてきたことが社会を歪めておかしなことになって来た
事には気づいてない。
2025/06/04(水) 16:52:55.60ID:k6hN7zFM
C#も押し付けがましかったが、それがRustに変わろうとしているらしい。
その前はJavaだった。Kotlinもそうされそうになったが衰退したらしいが。
514デフォルトの名無しさん
垢版 |
2025/06/04(水) 16:57:13.44ID:k6hN7zFM
中国人もそうなんだよ。民主主義で困ってないのに、民主主義や自由は
幻想だ。『日本や台湾は「幻想のバブルの中に」入る。
これからの時代は共産主義だ。だから、台湾の体制を中共に譲らなければ
ならない。それが人類にとって幸せだ。世界に赤い旗を立てる事が
人類の未来のためになるんだ』
などと言っている。Rustもそれに非常に似ている。
2025/06/04(水) 17:02:22.14ID:k6hN7zFM
「xxxはRustに書き直して高速になった。バグが減った」
って、EVや空飛ぶ車に対するChinaのプロパガンダにそっくり。
2025/06/04(水) 17:03:31.51ID:k6hN7zFM
イーロンマスクも南アメリカで17歳まで育ち、カナダから北米に渡り、
恥知らずにも中国で金儲けをし、Rustを宣伝している。
2025/06/04(水) 17:03:32.52ID:k6hN7zFM
イーロンマスクも南アメリカで17歳まで育ち、カナダから北米に渡り、
恥知らずにも中国で金儲けをし、Rustを宣伝している。
2025/06/04(水) 17:05:35.70ID:k6hN7zFM
南アメリカ-->南アフリカ
2025/06/04(水) 17:17:57.01ID:BCt/MqyZ
複オジの謎自演が湧いたから軌道修正

>>509
その理屈でこうなる

Cから移植の rav1d も意味ない
2025/06/04(水) 17:20:13.73ID:LMOj5Orj
イーロン・マスク、X表示名を「Gorklon Rust」に変更
https://jp.beincrypto.com/elon-musk-gorklon-rust-meme-coin-hype/
2025/06/04(水) 17:24:03.91ID:k6hN7zFM
アホみたいだな。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況