Rust part28

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2025/03/24(月) 17:37:00.15ID:NJwebgj2
公式
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 part27
https://mevius.5ch.net/test/read.cgi/tech/1733146370/

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
2025/04/18(金) 08:25:24.05ID:P5voSsBY
>>509
それらはRustのように速く動くわけではなく
Wasm上でもランタイムによるバイナリサイズ大きくてメリットが何もない
2025/04/18(金) 09:03:11.60ID:mYy6SV15
>>503
わざわざ人に聞かなくてもわかるでしょ
某オジのレスはほぼフェイクと思っておくくらいで丁度いい
2025/04/18(金) 09:55:44.96ID:D+dZTohS
.partial_cmp(&0) ってダサくない?
なんで
.partial_cmp(0) に出来ないの?
2025/04/18(金) 10:28:07.41ID:ZAhA/Z3u
0と比較した結果をOrderingで返す関数とか無用の長物じゃね?
2025/04/18(金) 10:32:03.94ID:D+dZTohS
確かに >>499 は無駄そのもの
2025/04/18(金) 10:47:04.28ID:OYio1Suj
>>512
出来ない
2025/04/18(金) 10:47:35.98ID:FSJ/87pm
>>514
話の流れを理解できてなさそうだな
if文で4分岐する関数を作るのはコードが見にくく実行も遅くなる可能性があって無駄だから素直にpartial_cmp()を使おうって話だろ
2025/04/18(金) 11:56:29.53ID:iABbAYzg
>>494>>499も複オジだった件w
この嘘吐きおじさんの振る舞いはいくらなんでも酷すぎるだろ
2025/04/18(金) 12:06:41.66ID:l4HkHLRc
>>512
初心者っぽいから説明すると
大きな構造体や文字列やBigIntなど含めた様々なデータを比較する関数だよ
参照を渡す方が良いことを理解できるよね?
もちろん数値の場合はコード上は他のデータと同じく参照を渡していても最適化で参照を使わずに数値同士が比較されるから心配しなくていい
2025/04/18(金) 12:21:49.30ID:9tQNo+Cx
gpt o3がバックエンドはRustがオススメです。
みたいに推してくるから、理由を聞いたら、「何にでも雑に強い」からだって開き直りよった
2025/04/18(金) 12:25:55.76ID:LTc7knjt
可読性ですね判ります
2025/04/18(金) 12:29:26.06ID:LQ9k+WsD
政治を嫌うやつがほしがるのは共感でも最適解でもなく、政治的ではないことが保証された解だな
だから乱数や賭博を嫌いになれないのか
522デフォルトの名無しさん
垢版 |
2025/04/18(金) 20:38:04.94ID:8ipzMSW5
Rustで書くとLLVMが最適化するので事実上最速のコードであることが保証されます
2025/04/18(金) 21:32:44.78ID:LQ9k+WsD
単に競争を回避するだけならできなくはないと思うが
政治家の競争と民間企業?の競争を区別するのは無理ゲーだ
2025/04/18(金) 21:55:39.18ID:U7NtBk6M
>>514
それコンパイルしたらSETccとCMOVcc使って最短最速の分岐していて無駄ないよ
525デフォルトの名無しさん
垢版 |
2025/04/19(土) 04:04:16.66ID:FhCqpqMY
【2025年最新】自然な声の音声読み上げソフト5選!AI技術で ...
https://ondoku3.com/ja/post/natural-voice-software/
※無料で5000文字まで音声合成エンジンで読み上げ可能
※音声合成エンジンは人間の声のサンプルから声質が作成されている
「Grok」が過去の会話を覚え続けるようになった--ChatGPTに追従 オフにする方法は?
2025年04月18日 05時20
http://japan.cnet.com/article/35231959/
>>「ChatGPT」やGoogleの「Gemini」も同様の記憶機能を導入している。これらのサービスも、長期的な会話履歴を保持し、ユーザーに合わせた回答が可能となっている。
※GrokはChatGPTで規制されていることも返答するようになっている
統合失調症の幻聴で半分人間半分AIと申されていた
統合失調症の幻聴で宇宙人とも話されていたのでかなり昔からできていたと思われる
※対象者【統合失調症】の考えに対しては何を考えているかは対象者【統合失調症】に聞いてみないことには意味不明⒮
2025/04/19(土) 21:57:19.62ID:fY+o1xZs
>>524
それRustのOption<Ordering>が速い理由がわかったわ
Orderingが8bitであることに加えてOption<Ordering>も8bitに抑えてる
しかもOrderingとSome(Ordering)が同じ8bit表現になるようにしている
それらにより8bitしか変化させてくれないsetCC命令をゼロ拡張や事前ゼロクリア無しに使えるわけだ
2025/04/19(土) 22:46:36.80ID:cJmAkIgz
Option が特別扱いなわけではなく、全般に空いているビットに詰め込む仕組みがあるのでいろんなところで効いてくる
2025/04/19(土) 22:55:31.71ID:vmwnv5nR
Option持たない言語や持っていても使われない言語は別途bool値などで表すしかないためOptionのような対応処理ができずに不利だね
2025/04/19(土) 23:14:20.43ID:cJmAkIgz
詰め込む分だけ取り出すコストが生じる場合もあって、どちらが良いとは一概には言えないんだけど Rust は上手くやれてるみたいだね。
2025/04/19(土) 23:27:11.24ID:9Z8ZvqW5
Optionを持たない流派とかどうでもいい
相性に依存したくないし
2025/04/20(日) 02:35:00.94ID:q3Yzhl/7
Some(Equal)
どちらが良いとも言えない

None
どうでもいい
532デフォルトの名無しさん
垢版 |
2025/04/20(日) 08:28:25.78ID:8i8LLpN+
ぬるぽ
533デフォルトの名無しさん
垢版 |
2025/04/20(日) 10:53:41.23ID:stub9h6D
今どきの言語だと大体は string? みたいな記法はあるし
unwrap_or や map, and_then に相当する操作も普通にできるから、 optional は実はあまり困らない
(演算子で書けるぶん、こちらのほうが記述も簡潔)

Resultは無いから、欲しい場面は結構ある
534デフォルトの名無しさん
垢版 |
2025/04/20(日) 11:10:13.02ID:stub9h6D
HaskellはリストやOption (Maybe), Tree などをモナドという構造として抽象化できると考えた
これは理論的な美しさはあるけど、実用的にはエラーハンドリングのための専用の構文があつた方が多くの場面で便利

Optionに限れば、C#やTS, Kotlin などにもそういうものがある
Resultも含めるとRustの?演算子はバランスがいいと思う
(これを monadic bind と説明せず、エラーの場合の早期リターンとして説明してる点も含めて)
2025/04/20(日) 12:25:33.06ID:q3Yzhl/7
構造ってのはコタツから出なくても向こうから勝手に押しかけてくる
たとえばCではOOPができないって言って、本当のOOP探しをする必要は全くない
それと同じ
2025/04/20(日) 12:55:01.09ID:9sumJC+c
錆みたいな名前なんとかならなかったのかね
システムに使うには縁起が良くない
2025/04/20(日) 13:52:39.43ID:q3Yzhl/7
とりあえず占い師をクビにして、祟りが起きたらその時に考える
これが効率化だ
2025/04/20(日) 14:06:28.40ID:Y0fKmU/t
名前の由来もちゃんとあるから調べたらいい
2025/04/20(日) 14:07:44.47ID:Y0fKmU/t
枯れたものでシステム作ろうとするくせに生意気な
お似合いの名前の由来じゃん
540デフォルトの名無しさん
垢版 |
2025/04/20(日) 14:13:49.78ID:RiHDJnuQ
糖分多め
2025/04/20(日) 15:51:30.56ID:9sumJC+c
・さび菌よる多くの病害はさび病と呼ばれ、農業・林業において重大な病害を含む
・サビの進行度によっては、チェーンリング強度低下、チェーン張力の低下、チェーン断裂のリスクなどの可能性がある

2025/04/20(日) 15:53:22.75ID:deXhde/G
鉄は表面だけ錆びさせることで破壊が起きるような深い錆びを起こさないように出来るのだ
543デフォルトの名無しさん
垢版 |
2025/04/20(日) 16:27:55.26ID:2QlbS353
このスレに巣食っている信者が喧伝しているような「メモリ安全でコンパイルが通れば
バグがないことが保障される」信頼性が高い言語だから名前はTrustだ!とドヤ顔で言い切る
自信が開発者にはなかったんだろうな。
2025/04/20(日) 16:32:59.12ID:LRWB5aQw
開発当初にそこまで自信ないだろ
1人で作り出したのでしょ
2025/04/20(日) 16:35:34.71ID:LRWB5aQw
ロジックのバグは開発者の責任だからね
あとCよりマシと言う所が抜けてる
Cの地獄はやったものしかわからないだろ、あれから比べたら劇的に楽に違いない
2025/04/20(日) 16:38:39.63ID:LRWB5aQw
フレームワーク上でビジネスロジックしか組んでないアプリレベルの開発者には無用の長物なんだよ。
業界的にはアプリレベル開発者が80%だろうし、違いの分かり恩恵がある開発者は20%だからね
2025/04/20(日) 17:07:39.21ID:C+zI7Cbk
このスレの今盛り上がってるこのお題

プログラミングのお題スレ Part22
https://mevius.5ch.net/test/read.cgi/tech/1691038333/712

Rustだと桁違いに速く解けるみたいだけど
これは言語の差なの?
2025/04/20(日) 17:59:03.47ID:q3Yzhl/7
ハードウェアを固定して言語を色々変えるなら
ハードの差には絶対にならない
2025/04/20(日) 20:56:57.67ID:3sgfyr+I
>>547
見たけど言語の差ではない。モダンな言語であればほぼ同様の記述が可能。
この手の小さなアルゴリズム実装程度の課題ではRustの面倒臭い面が表に出ることはない
2025/04/20(日) 22:09:40.01ID:q3Yzhl/7
課題を変えたら課題の差が計測されてしまう
既に、良い課題と悪い課題があるみたいな空気になりかけている
2025/04/20(日) 22:12:48.98ID:C+zI7Cbk
>>549
他の言語で速いプログラムが出てこないのはなぜなのかなと思って
2025/04/20(日) 22:45:33.70ID:zDf/Vo48
速度に固執してる奴がたまたまRust信者だっただけだな
まだアルゴリズムの改善でオーダーが変わっている段階であり、細かい最適化とかの次元ではない
遅くない言語であれば十分
2025/04/20(日) 22:51:31.25ID:ACqBfiTY
clangでも同じにできるよね
どちらもLLVM
2025/04/20(日) 22:53:22.13ID:BStMFpBy
rustが本当に速かったらもっと普及したと思う
2025/04/20(日) 22:57:10.24ID:ACqBfiTY
CやFORTRANより速くはならんからな
2025/04/20(日) 23:05:02.71ID:3sgfyr+I
こういうミクロなベンチマークは速度を追求すると最終的には拡張命令等によるハードウェア依存の最適化に行き着くから、Rustに勝ち目はない
一応Rustコンパイラを使い続けながら最速に到達することは可能かもしれないが、もはやRustとは呼べない何かになる
2025/04/20(日) 23:16:39.25ID:fDFjIRaB
インラインでsseして頑張ろう
2025/04/20(日) 23:24:22.62ID:R/7Xf2QC
>>555
Rustは同じ速さにできる

>>556
CPU依存でいいならRustはインラインアセンブラに対応していてRustの変数をそのまま渡すことができるためそのクリティカルな部分以外をそのままRustで記述できるRustは有利
2025/04/20(日) 23:37:04.43ID:fDFjIRaB
知ってる知ってる
2025/04/20(日) 23:51:55.62ID:cSEBA2fB
お題スレでノッてくれる人が少ないからってこっちに持ってくんなよって一瞬思いかけたけど
ある意味最初からこっちでやるべきだった話かもしれん
2025/04/21(月) 00:30:33.79ID:7JbXAl3S
Rustを叩きたいならばRustのコードより速く解を出す別言語のコードを実際に示さないとな
2025/04/21(月) 00:34:48.87ID:i9cdiUcL
ビット演算とか負けそう
2025/04/21(月) 02:27:05.65ID:+vt/r7vG
ローテートとか多倍長計算出来るのけ?
2025/04/21(月) 12:26:55.06ID:M3LNhDSR
調べたらRustはなんでもあるんだな
reverse_bits
count_ones
leading_ones
trailing_ones
rotate_left
rotate_elements_left
carrying_add
carrying_mul
carrying_mul_add
widening_mul
2025/04/21(月) 14:43:44.89ID:Yit9TUrJ
直交性は無いよ
2025/04/21(月) 18:14:51.15ID:kMaH7s+f
どれについて何の直交性が必要とされてる話だろうか。
全てに該当するレジスタの直交性関連の話だと、制限のあるCISCでは必要があればmov命令の前置きコードが生成される場合もあるかもしれないが、Rustの変数や式で気にする必要はないか。唯一型について、ビットのカウント数/シフト数やilog/power指数はどの型に対してもu32型となるくらい。
2025/04/21(月) 22:52:58.94ID:8M5kDrcZ
>>552
じゃあRust以外の言語でゼロから作ってみせてよ
2025/04/21(月) 23:26:48.36ID:+8SUWDlR
しかし、裁判所の言う事を聞かない人間が世界中に出没しているから
法廷では、物的証拠が、っていうの時代錯誤だよな
2025/04/21(月) 23:35:15.33ID:p/ZevgM0
ひろゆきの悪口か
いいぞもっとやれ
2025/04/21(月) 23:36:25.44ID:p/ZevgM0
>>567
アセンブリ吐かせれば、あら不思議
意味不明のニーモニックから同じ結果がでましたよ
2025/04/21(月) 23:57:43.20ID:Aow9BV7f
そのRustのコードはCで書けば速くなるような部分もなさそ
2025/04/22(火) 00:16:50.91ID:ZQ5oZMZY
>>571
興味があるならハイパフォーマンスコンピューティングという魔界を覗いてくるといい
実はあまり言語は関係なくてRustで同じことができないわけでもないが、Rustの抽象化云々とはかけ離れた異次元の世界だ
573デフォルトの名無しさん
垢版 |
2025/04/22(火) 00:26:30.67ID:8hwhaSPF
HPCのライブラリなんかなんの言語で書かれていても良いけど、インストールだけはCargoで楽にやりたいものだ
2025/04/22(火) 00:35:43.68ID:d/X8b3ZB
アーキテクチャの性能を引き出すためのチューニングというのは高速化できるパターンの蓄積だったりするんだよ。
いいかんじのアルゴリズムを使えば全部綺麗に高速になるなんていうシンプルな世界ではない。
コンパイラは単純に巨大な辞書を持ってる。

分量が強い。
投資が多いほうが強い。
同程度に活発なら歴史が長いほうが強い。

素人がちょっと画期的なことを思いついたくらいでは覆せない物量の世界。
2025/04/22(火) 00:38:12.62ID:9wLhNa5g
HPCのライブラリがなんで書かれていても良いと言うのはどういう意味なのか
利用する側として現状c,c++でしか使えない物が主流だと思うんだけど
CUDAカーネルもrustで書けるようだけど今のところ利点がない
2025/04/22(火) 00:50:02.20ID:F18K4UsR
入出力用言語ということか
577デフォルトの名無しさん
垢版 |
2025/04/22(火) 08:24:52.50ID:YssDApDh
Rustは清書用
2025/04/22(火) 09:00:24.01ID:S18G88V1
HPCは、行指向のデータ構造、動的アロケーションを避ける、データ並列、といった性質があるのでRustと対極なんだよね
Rustがそれらを苦手とするわけではないけど、特に強みがない
579578
垢版 |
2025/04/22(火) 09:02:46.96ID:S18G88V1
失礼、列指向の間違い
2025/04/22(火) 10:00:51.24ID:5HMV43CK
Rustで作られたOSとかwebブラウザとかないの?
2025/04/22(火) 10:01:41.11ID:lO2L/Kdb
HPCとRustという別の階層のものを比較してるのは滑稽だ。
HPCは大昔からあるものであって、システム構成もGPU時代になってどんどん変わっていってるし、 使用言語もFortranから最近はPythonまであり、そしてRustでの試みもある。
2025/04/22(火) 10:38:41.79ID:AOKbZsXj
クリエイターと消費者がよく比較されるのも滑稽すぎてウンザリする
2025/04/22(火) 12:00:21.29ID:suLLda9X
比較のレイヤーがごっちゃになってカブトムシとライオンを比較するような意味不明な記事が投稿されるのが問題
日本語特有の課題なんだけどね。外国語だったら比較対象が厳密だからこんな比較はされない
外人に生まれたかった
584デフォルトの名無しさん
垢版 |
2025/04/22(火) 12:04:09.96ID:VDU9dGyn
>>580
OSはLinux
ブラウザはFirefoxが
Rustで作られています
2025/04/22(火) 12:21:14.17ID:lkDatlsU
>>584
Chromeもこの前のバージョンからRust
586デフォルトの名無しさん
垢版 |
2025/04/22(火) 14:56:33.88ID:CQcCOa17
WindowsもRustです
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1536253.html
587デフォルトの名無しさん
垢版 |
2025/04/22(火) 15:01:02.62ID:z9I6mhsO
>>584
USO-800
2025/04/22(火) 23:38:16.08ID:gOfYIqHC
ほとんどの分野でRust化が進んでいるといってもOSとブラウザは巨大すぎてRustへの部分置き換えの領域が広がっていく感じだろう
2025/04/22(火) 23:40:56.68ID:uv87i4ng
LinuxはカーネルモジュールがRustでも作れるようになっただけね
ごく一部の置き換えが始められるかどうかってところだけ
2025/04/23(水) 00:32:40.73ID:fW7CNVPb
なんかい同じ話しとんねんきみら
591デフォルトの名無しさん
垢版 |
2025/04/23(水) 07:26:01.78ID:aWedmqOO
現状でLinuxやFirefoxのコードベース中のRustの割合ってどれくらいなん?
2025/04/23(水) 07:40:34.19ID:Uy1fHQTV
そろそろChromeの方がFirefoxよりRustの割合高くなってるだろ
2025/04/23(水) 07:45:28.98ID:FseCbehs
PythonでもRust製のuvが今後天下を取りそうな流れになりつつある
爆速すぎる
594デフォルトの名無しさん
垢版 |
2025/04/23(水) 07:50:08.26ID:yb1dQj0Y
CPythonのRust版まだー?
2025/04/23(水) 08:11:24.03ID:l+v1pS2m
>>591
%1ぐらいじゃね
2025/04/23(水) 08:34:59.19ID:Uy1fHQTV
uvは開発速度が異常に速いな
どうなってるんだ?
2025/04/23(水) 08:51:58.21ID:P67C9oqU
uvが速いのはパッケージをインストールする際のダウンロードとコピーを避けてるからで、別にRustだから速いわけではないんだけど、
Rustの速そうなイメージを利用してPythonに群がる雰囲気コーダー達にうまく売り込んだよね
シングルバイナリだから細々とスクリプトを読むより起動時のロードが速いくらいの効果はあるかもしれんが
2025/04/23(水) 09:25:47.00ID:4v1FSs9u
Rustが速いはCが速いというのと同じぐらい実装依存でしょ
正しくはuvの実装が良くて実行速度が速いだけじゃん
2025/04/23(水) 09:26:47.77ID:yoO2Q6CW
>>590
AIの出力のコピペ繰り返してると
Echo Chamber Effect で発散するお
2025/04/23(水) 09:42:39.16ID:FBWMxycZ
>>598
そう、だからRust最強したいだけの層はuvのようなアーキテクチャの根本的な見直しではなく単純な書き換えばかりに傾倒する
Rust界隈はトランスレートばかりやってて何も生み出してないと揶揄されることが多いが、その原因はまさにこれ
(念を押すが、uvはそれには該当しない)
2025/04/23(水) 10:37:52.74ID:PSneroc7
>>597
596は開発速度の話だろ
2025/04/23(水) 11:18:25.26ID:7LPwNZei
Rustは開発効率が良いもんな
2025/04/23(水) 11:41:00.34ID:nIc2Gxfq
uvの人がシゴデキで暇なだけじゃね
604デフォルトの名無しさん
垢版 |
2025/04/23(水) 11:43:34.82ID:nbgWWj+a
あの人普段何して収入を得ているんだろうな
2025/04/23(水) 11:47:44.34ID:uqhnESs+
アーキテクチャを変えればアーキテクチャの差が評価される
言語以外何も変えなければ言語の差が評価される
2025/04/23(水) 11:50:43.26ID:FBWMxycZ
uvの開発元はスタートアップ企業としてVCから多額の出資を受けてるから開発者の生活は安泰
いずれビッグテックへの買収でイグジットか、Anacondaみたいにエンタープライズ向けのサポートで金取るんだろう
607デフォルトの名無しさん
垢版 |
2025/04/23(水) 11:52:11.03ID:nbgWWj+a
uvもそのうちAnacondaみたいになっちゃうってコト!?
2025/04/23(水) 11:52:38.07ID:nIc2Gxfq
おお、会社なんだ
CLIツールで企業できるとか夢のようだな
2025/04/23(水) 12:12:50.41ID:FBWMxycZ
>>607
可能性はある
VCから出資を受けている以上、必ず資金回収のタイムリミットがあるため、
最終的にどのような形になるにせよ今の状況を続けられるのは数年だけ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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