C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」
っていう雑談スレ。
前スレ: 結局C++とRustってどっちが良いの? 6traits
http://mevius.5ch.net/test/read.cgi/tech/1690610746/
関連スレ(マ板): Google&Microsoft「セキュリティバグの70%はC/C++のメモリ管理ミス。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
結局C++とRustってどっちが良いの? 7traits
■ このスレッドは過去ログ倉庫に格納されています
2023/08/31(木) 12:16:53.23ID:dCL063sE
203デフォルトの名無しさん
2023/09/10(日) 00:29:47.43ID:DLzpZfEZ Goは何がクソといってまずネーミングが致命的にクソ
あとマスコットがキモすぎ
あれじゃだめだ
あとマスコットがキモすぎ
あれじゃだめだ
204デフォルトの名無しさん
2023/09/10(日) 03:07:25.31ID:9TiyMpcM >>203
全面的に同意する
全面的に同意する
205デフォルトの名無しさん
2023/09/10(日) 09:15:38.67ID:zU/sZl9q >>201
それはgoroutineに比べて何が優れてるの?
2019から入ったってことはNode.jsと同じで非同期な仕組みがコロコロ変わって不安定でぶっ壊れやすいってことだよね
goroutineはGoが出た当初から何も仕組みが変わってないからどのライブラリでも共通した仕組みで使えるけど
それはgoroutineに比べて何が優れてるの?
2019から入ったってことはNode.jsと同じで非同期な仕組みがコロコロ変わって不安定でぶっ壊れやすいってことだよね
goroutineはGoが出た当初から何も仕組みが変わってないからどのライブラリでも共通した仕組みで使えるけど
206デフォルトの名無しさん
2023/09/10(日) 09:21:52.03ID:QnQmm6lX Rustを誰も使ってないってことが答えなんだろ
207デフォルトの名無しさん
2023/09/10(日) 09:24:04.51ID:zU/sZl9q コンピュータサイエンスや低レイヤを学びたいならRustやC++ではなくCがよくて
現代で実用的な低レイヤ以外のソフトを作るにはGoが優れてる
なぜかというとどちらとも言語仕様がシンプルでどうでもいい文法の学習をすぐに終わらせることができるから
わかっているやつは言語の機能じゃなくて何を作るのかを重視するのや
Rustってのは低レイヤだけに適しているんだろうけど、それならCでいいしZigなどのシンプルな言語の方がCの後継になりうるよね
RustってのはあくまでもC++の後継であって、現在C++で作られてる特殊なアプリの後継にしかならないよね
C++がWebに向いていないのと同様Rustも当然向いていない
なぜWeb屋はCやC++の経験がないのに、Rustを使ってイキリ出すのかが本当に謎
misskeyとかな
現代で実用的な低レイヤ以外のソフトを作るにはGoが優れてる
なぜかというとどちらとも言語仕様がシンプルでどうでもいい文法の学習をすぐに終わらせることができるから
わかっているやつは言語の機能じゃなくて何を作るのかを重視するのや
Rustってのは低レイヤだけに適しているんだろうけど、それならCでいいしZigなどのシンプルな言語の方がCの後継になりうるよね
RustってのはあくまでもC++の後継であって、現在C++で作られてる特殊なアプリの後継にしかならないよね
C++がWebに向いていないのと同様Rustも当然向いていない
なぜWeb屋はCやC++の経験がないのに、Rustを使ってイキリ出すのかが本当に謎
misskeyとかな
208デフォルトの名無しさん
2023/09/10(日) 09:37:13.77ID:zU/sZl9q Rustが今後使われるにしてもDenoとかの言語のランタイムの裏で使っている用途ぐらいか
NginxやRedisなどの高度かつ高パフォーマンスのミドルウェア的なソフトウェアぐらいでしょ (これらはCから変える必要はないと思うが1から作る場合)
で、これらの高度なアプリを1から作ることってそんなにあるの?って話。ふつうはこれらを利用してサービスを作る側だよね。
一般層に流行らせるためには、Node.jsやGoのように誰でも簡単に扱えるようになっていないとダメ
Rob Pikeが言っていたようにGoogleの新入社員でさえ研究者でないのだから企業で使われる言語は簡単でなければならないってのが本当に真理
Googleの新入社員ですらRustなんて扱えないんだから、お前らが扱えるわけないだろ
The key point here is our programmers are Googlers, they’re not researchers.
They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python.
They’re not capable of understanding a brilliant language but we want to use them to build good software.
So, the language that we give them has to be easy for them to understand and easy to adopt. – Rob Pike
NginxやRedisなどの高度かつ高パフォーマンスのミドルウェア的なソフトウェアぐらいでしょ (これらはCから変える必要はないと思うが1から作る場合)
で、これらの高度なアプリを1から作ることってそんなにあるの?って話。ふつうはこれらを利用してサービスを作る側だよね。
一般層に流行らせるためには、Node.jsやGoのように誰でも簡単に扱えるようになっていないとダメ
Rob Pikeが言っていたようにGoogleの新入社員でさえ研究者でないのだから企業で使われる言語は簡単でなければならないってのが本当に真理
Googleの新入社員ですらRustなんて扱えないんだから、お前らが扱えるわけないだろ
The key point here is our programmers are Googlers, they’re not researchers.
They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python.
They’re not capable of understanding a brilliant language but we want to use them to build good software.
So, the language that we give them has to be easy for them to understand and easy to adopt. – Rob Pike
209デフォルトの名無しさん
2023/09/10(日) 10:11:48.00ID:oEydPFxE210デフォルトの名無しさん
2023/09/10(日) 10:38:10.70ID:JNK4y9LH211デフォルトの名無しさん
2023/09/10(日) 10:51:25.03ID:yM7j2B0I212デフォルトの名無しさん
2023/09/10(日) 10:53:50.09ID:yM7j2B0I213デフォルトの名無しさん
2023/09/10(日) 10:55:05.74ID:zU/sZl9q214デフォルトの名無しさん
2023/09/10(日) 11:12:11.26ID:yM7j2B0I いやむしろRustはCの後継と言っていい
C++の後継にはならない
C++の後継にはならない
215デフォルトの名無しさん
2023/09/10(日) 11:41:24.89ID:sArcEmyj >>203
ネーミングが悪いのはRustだろ。しかもシンボルマークが歯車だから、錆び付いて非効率という
印象しかない。開発者は何でこんな変な名前を選んだのか。
メモリ安全、コンパイル時にエラー検出でプログラムの信頼性は保証されるから、言語名は
Trustだ! とドヤ顔で言い張れる鉄面皮ではさすがになかったんだろうな。
ネーミングが悪いのはRustだろ。しかもシンボルマークが歯車だから、錆び付いて非効率という
印象しかない。開発者は何でこんな変な名前を選んだのか。
メモリ安全、コンパイル時にエラー検出でプログラムの信頼性は保証されるから、言語名は
Trustだ! とドヤ顔で言い張れる鉄面皮ではさすがになかったんだろうな。
216デフォルトの名無しさん
2023/09/10(日) 11:41:42.14ID:VMvGrq1x217デフォルトの名無しさん
2023/09/10(日) 11:42:31.89ID:zU/sZl9q >>214
そっくりそのまま返すわ
CとRustは完全に別物だから後継にはならねーよ
言語仕様を削ぎ落としたCと増やしまくってるRust
増やしまくってるのはC++と同じだからRustはC++に近い言語
そっくりそのまま返すわ
CとRustは完全に別物だから後継にはならねーよ
言語仕様を削ぎ落としたCと増やしまくってるRust
増やしまくってるのはC++と同じだからRustはC++に近い言語
218デフォルトの名無しさん
2023/09/10(日) 11:45:42.86ID:zU/sZl9q219デフォルトの名無しさん
2023/09/10(日) 11:55:01.88ID:yM7j2B0I >>217
全然理由になってなくて草
全然理由になってなくて草
220デフォルトの名無しさん
2023/09/10(日) 12:22:11.83ID:zU/sZl9q221デフォルトの名無しさん
2023/09/10(日) 12:29:44.22ID:kn32mMwx C++もRustもCの別方向の進化形でしょ
C⇔C++の書き換えとC⇔Rustの書き換えは頑張ればできそうな気がするけど
C++⇔Rustの書き換えは禿げる
C⇔C++の書き換えとC⇔Rustの書き換えは頑張ればできそうな気がするけど
C++⇔Rustの書き換えは禿げる
222デフォルトの名無しさん
2023/09/10(日) 13:12:29.84ID:sSPr1k9L 結論から言えば、RustはCの後継でも、C++の後継
でもない。どちらからも言語間距離がとても遠い。
でもない。どちらからも言語間距離がとても遠い。
223デフォルトの名無しさん
2023/09/10(日) 13:33:20.59ID:yM7j2B0I224デフォルトの名無しさん
2023/09/10(日) 15:28:39.58ID:Ap5G6qZA web屋がrustに流れ着くのは自然な流れ
それが理解できないのは経験不足です
それが理解できないのは経験不足です
225デフォルトの名無しさん
2023/09/10(日) 16:29:46.43ID:JNK4y9LH226デフォルトの名無しさん
2023/09/10(日) 17:08:07.27ID:sIJu/rWm Rustでの非同期プログラミングは最悪だ、Goが最高ってのが流行っているみたいだね
stackless coroutineだから、Rustは糞ってのも書いてあるね
Async Rust Is A Bad Language
https://bitbashing.io/async-rust.html
https://news.ycombinator.com/item?id=37435515
この辺の記事も関連している
https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/
stackless coroutineだから、Rustは糞ってのも書いてあるね
Async Rust Is A Bad Language
https://bitbashing.io/async-rust.html
https://news.ycombinator.com/item?id=37435515
この辺の記事も関連している
https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/
227デフォルトの名無しさん
2023/09/10(日) 18:07:26.76ID:QnQmm6lX >>222
haskellの後継だと思ってた
haskellの後継だと思ってた
228デフォルトの名無しさん
2023/09/10(日) 18:07:45.14ID:KCQnpZM7 Rust自体が難しいのに、更に非同期プログラミングとなるとどんでもない難易度になることになるのは想像できるわな
Web屋がそんなの使いこなせるわけないだろ
Goなら1ヶ月あれば快適にコードをかけて非同期プログラミングもできるようになるだろうけど、Rustは何ヶ月かかるんだろうね
AWSやCloudflareはWeb屋じゃないし
Web屋がそんなの使いこなせるわけないだろ
Goなら1ヶ月あれば快適にコードをかけて非同期プログラミングもできるようになるだろうけど、Rustは何ヶ月かかるんだろうね
AWSやCloudflareはWeb屋じゃないし
229デフォルトの名無しさん
2023/09/10(日) 18:08:09.28ID:QnQmm6lX >>224
haskellサイコー!
haskellサイコー!
230デフォルトの名無しさん
2023/09/10(日) 18:42:25.15ID:Nc6gtmY+ UnityのC#のポジションに来れば習得するわ
今はまだその時期じゃない
今はまだその時期じゃない
231デフォルトの名無しさん
2023/09/10(日) 20:56:07.05ID:UYX28Tlr >>224
きっと途中で嫌になるに一票。
きっと途中で嫌になるに一票。
232デフォルトの名無しさん
2023/09/10(日) 20:59:42.76ID:RHEbDKKy >>224
そう言われても、たしかにwebのほうは経験不足…やってねえし
てかぶっちゃけ、webの進化にはついていけん
ライブラリ・フレームワークの名前聞くたびにぐぐるしかない
ある意味、C++でもRustでもなく、JavaScript最強を実感する世界
そう言われても、たしかにwebのほうは経験不足…やってねえし
てかぶっちゃけ、webの進化にはついていけん
ライブラリ・フレームワークの名前聞くたびにぐぐるしかない
ある意味、C++でもRustでもなく、JavaScript最強を実感する世界
233デフォルトの名無しさん
2023/09/10(日) 21:40:34.45ID:UYX28Tlr Web屋は、Web屋であり、デスクトップアプリの
事情は分かって無いし、また、Web領域を超える
こともない。そしてRustを別の何かと勘違いして
いるのでそのうち落胆する。
事情は分かって無いし、また、Web領域を超える
こともない。そしてRustを別の何かと勘違いして
いるのでそのうち落胆する。
234デフォルトの名無しさん
2023/09/10(日) 21:40:35.44ID:UYX28Tlr Web屋は、Web屋であり、デスクトップアプリの
事情は分かって無いし、また、Web領域を超える
こともない。そしてRustを別の何かと勘違いして
いるのでそのうち落胆する。
事情は分かって無いし、また、Web領域を超える
こともない。そしてRustを別の何かと勘違いして
いるのでそのうち落胆する。
235デフォルトの名無しさん
2023/09/10(日) 22:16:00.92ID:ZNDzog4E web屋は頭悪いんだからRails使っとけってことかね
>>228
>>228
236デフォルトの名無しさん
2023/09/10(日) 22:32:35.73ID:UYX28Tlr twitterでC++でCMakeやmakeのビルドエラーを直す
難しさを指摘してる人がいるけど、それは、
C++自体の問題じゃなくて、多くはGNUのプログラマ
とAutoconfやcmakeの難しさと書き方の問題によっている。
オープンソース系のCMakeやmakefileは必要以上に難しい構造をしているから。
configureなども、大部分が意味の無い構造になっているが、
それは。CやC++の問題ではない。
また、VS+MFCを使っていればその問題は生じない。
が、オープンソース系のプログラマは根本的に余り優秀でない
のでどうしてもおかしな構造をとりがち。
別の宇宙でRustがオープンソース系で流行り出せば
同様に複雑化するだろう。
難しさを指摘してる人がいるけど、それは、
C++自体の問題じゃなくて、多くはGNUのプログラマ
とAutoconfやcmakeの難しさと書き方の問題によっている。
オープンソース系のCMakeやmakefileは必要以上に難しい構造をしているから。
configureなども、大部分が意味の無い構造になっているが、
それは。CやC++の問題ではない。
また、VS+MFCを使っていればその問題は生じない。
が、オープンソース系のプログラマは根本的に余り優秀でない
のでどうしてもおかしな構造をとりがち。
別の宇宙でRustがオープンソース系で流行り出せば
同様に複雑化するだろう。
237デフォルトの名無しさん
2023/09/10(日) 22:42:37.24ID:UYX28Tlr twitterでRustの良さを指摘してる人のページを
見てみるとプライドが高いことが分かって来た。
独自基準で自分が優秀だと思い込んでいるような
経歴を持っている。
見てみるとプライドが高いことが分かって来た。
独自基準で自分が優秀だと思い込んでいるような
経歴を持っている。
238デフォルトの名無しさん
2023/09/10(日) 22:44:16.11ID:/jMAELPG 頭悪そうな文章だと思ってたらアンチOSSお爺さんだったwww
239デフォルトの名無しさん
2023/09/10(日) 22:46:02.90ID:UYX28Tlr そういう人達は学業から何から何まで
人生をかけてプログラミングの事ばかり
していてね。どうでもいいような競技みたいな
ことばかりこっていたりする。
他の人が参加すらしていない競技なのに。
人生をかけてプログラミングの事ばかり
していてね。どうでもいいような競技みたいな
ことばかりこっていたりする。
他の人が参加すらしていない競技なのに。
240デフォルトの名無しさん
2023/09/10(日) 22:47:03.48ID:UYX28Tlr ずる賢い手法で自分が一番みたいな、いなかっぺ
大将みたいな状態になっているということだ。
大将みたいな状態になっているということだ。
241デフォルトの名無しさん
2023/09/10(日) 22:51:12.74ID:UYX28Tlr Rust支持者は、現状認識が間違っていて、妄想が激しい。
例えばプログラミング業界の認識からして間違っている。
集団幻覚みたいな状態にあるのかもしれない。
間違った、あるいは、自分に都合の良い認識の人が
集団を形成し、代々延々と続いた状態にあるのだ。
例えばプログラミング業界の認識からして間違っている。
集団幻覚みたいな状態にあるのかもしれない。
間違った、あるいは、自分に都合の良い認識の人が
集団を形成し、代々延々と続いた状態にあるのだ。
242デフォルトの名無しさん
2023/09/10(日) 22:58:12.29ID:uILl1E7m243デフォルトの名無しさん
2023/09/10(日) 22:59:51.44ID:UYX28Tlr >>242
そもそも誰も使ってないOSに移植する必要もない。
そもそも誰も使ってないOSに移植する必要もない。
244デフォルトの名無しさん
2023/09/10(日) 23:00:43.53ID:I57c0J7v まぁ実態がホントにそーかまでわ分からんが 仮にそーならソレわソレでシヤワセな状態と言えるのカモだぬ
245デフォルトの名無しさん
2023/09/10(日) 23:12:06.85ID:uILl1E7m >>243
誰も使ってないOSに移植する人など誰もいない
誰も使ってないOSに移植する人など誰もいない
246デフォルトの名無しさん
2023/09/10(日) 23:13:09.84ID:UYX28Tlr 一般人向けデスクトップアプリはWindowsだけで十分。
247デフォルトの名無しさん
2023/09/10(日) 23:14:32.53ID:UYX28Tlr OSS狂信者は自分の理想社会になるまで頑張り続けてるだけ。
共産主義者。
共産主義者。
248デフォルトの名無しさん
2023/09/10(日) 23:25:46.54ID:I57c0J7v いまとなってわみんなWebアプリになってしまったので プラットフォームごとの独自GUIほすいという状況わ かなり限定的と思いますケドぬ たとえばPCゲのようにパフォーマンス命のバヤイトカだぬ
249デフォルトの名無しさん
2023/09/10(日) 23:34:44.32ID:uILl1E7m250デフォルトの名無しさん
2023/09/10(日) 23:58:13.35ID:Ap5G6qZA webが特別なのはリリースサイクルが異常に早いこと
だからRustに魅力を感じるのは当然
Rustは難しいとか、Cより安全とかいうことを言っている連中は、残念ながら経験不足
Rustの経験不足か、webの経験不足であるのは間違いないが、なによりプログラマーとしての経験が足りてない
だからRustに魅力を感じるのは当然
Rustは難しいとか、Cより安全とかいうことを言っている連中は、残念ながら経験不足
Rustの経験不足か、webの経験不足であるのは間違いないが、なによりプログラマーとしての経験が足りてない
251デフォルトの名無しさん
2023/09/11(月) 00:13:07.35ID:TuCSEATp 2年間5chやってもバレバレの自演しかできないのも経験不足?
252デフォルトの名無しさん
2023/09/11(月) 00:19:30.06ID:x8WXqWDl 朝から晩まで5chで経験不足連呼するだけのゴミ人生でした
253デフォルトの名無しさん
2023/09/11(月) 01:58:15.09ID:k08oejKU254デフォルトの名無しさん
2023/09/11(月) 03:32:23.30ID:ECkhuLcp >>253
お前がこうして書き込んで俺が読んでいるシステムは
Windowsだけで成立しているのかな?
ライブラリがポータブルなのは極めて重要
autotoolsやcmakeはそれらを支えている
視野が狭すぎる
お前がこうして書き込んで俺が読んでいるシステムは
Windowsだけで成立しているのかな?
ライブラリがポータブルなのは極めて重要
autotoolsやcmakeはそれらを支えている
視野が狭すぎる
255デフォルトの名無しさん
2023/09/11(月) 03:33:07.09ID:ECkhuLcp256デフォルトの名無しさん
2023/09/11(月) 07:50:35.19ID:E5vyJfZg サーバサイドかなりlinux
257デフォルトの名無しさん
2023/09/11(月) 08:10:14.91ID:6xpAyPC+ >>250
リリースサイクルが早いからバグってもすぐ直せばいいから問題ない
だからWebでRubyなどの動的言語が流行ってきたんだよ
それでも規模が大きくなると開発自体が大変になるからTypeScriptやGoなどが流行ってきた
つまりRustとWebは最悪な組み合わせだね
コンパイル速度が遅くメモリ安全のために強要される
Webでは早く開発するのが重要であるから、無駄な努力をしていることになる
Rustが向いているのは低レイヤでバグが許されない用途
リリースサイクルが早いからバグってもすぐ直せばいいから問題ない
だからWebでRubyなどの動的言語が流行ってきたんだよ
それでも規模が大きくなると開発自体が大変になるからTypeScriptやGoなどが流行ってきた
つまりRustとWebは最悪な組み合わせだね
コンパイル速度が遅くメモリ安全のために強要される
Webでは早く開発するのが重要であるから、無駄な努力をしていることになる
Rustが向いているのは低レイヤでバグが許されない用途
258デフォルトの名無しさん
2023/09/11(月) 08:36:35.01ID:PxJKmT2P あなたのような土方志向言語の使い手には呆れて反論する気も起きません
経験不足どころかプログラマーですらない
経験不足どころかプログラマーですらない
259デフォルトの名無しさん
2023/09/11(月) 08:42:22.10ID:d+PRxn/f260デフォルトの名無しさん
2023/09/11(月) 08:49:44.02ID:6xpAyPC+ あなたが何を言おうがWebでRustが流行ることはないからいいんじゃないかな
君の脳内だけでは流行っているようだけど
君の脳内だけでは流行っているようだけど
261デフォルトの名無しさん
2023/09/11(月) 08:52:08.60ID:6xpAyPC+ そもそもGC言語であればメモリ安全
メモリが潤沢に存在するWeb環境でなぜわざわざ非GC言語を選択する必要があるの?
マゾとしか言いようがないな
目的と手段が入れ替わった馬鹿
Rustが低レイヤ専用言語という事実をいうと発狂するのは、自分がそれらに携わることが決してないWeb屋だからだろうw
効いちゃった?w
メモリが潤沢に存在するWeb環境でなぜわざわざ非GC言語を選択する必要があるの?
マゾとしか言いようがないな
目的と手段が入れ替わった馬鹿
Rustが低レイヤ専用言語という事実をいうと発狂するのは、自分がそれらに携わることが決してないWeb屋だからだろうw
効いちゃった?w
262デフォルトの名無しさん
2023/09/11(月) 09:17:00.45ID:54D6Lwwp263デフォルトの名無しさん
2023/09/11(月) 09:24:20.93ID:p7LeL6Qu メモリ安全とはメモリが少なくても大丈夫ではない
264デフォルトの名無しさん
2023/09/11(月) 09:28:56.91ID:6xpAyPC+ 自分がWeb屋で低レイヤを一切触ったことがないがこれからはRustだと勝手に妄想を膨らませて無駄に勉強しちゃったけど、Webでは絶対流行らない低レイヤ専用言語だという事実を指摘されて発狂してID変えまくって書き込むアホw
お前は無駄な努力してたんだよw
意味のない努力だよ
お前は無駄な努力してたんだよw
意味のない努力だよ
265デフォルトの名無しさん
2023/09/11(月) 09:36:01.63ID:CzWM7Xpm 用語の意味すら知らないのはカコワルイ
266デフォルトの名無しさん
2023/09/11(月) 09:42:20.49ID:PxJKmT2P 自分で技術選定したことないから表面的なことしか分からないんだな
267デフォルトの名無しさん
2023/09/11(月) 10:01:23.49ID:lXcI/Ajd >>238
禿堂
禿堂
268デフォルトの名無しさん
2023/09/11(月) 10:01:28.48ID:6xpAyPC+ だからお前のいうWeb開発でRustを採用している企業ってあるの?聞いたことがないんだけど
AWSやCloudflareがお前が勤められるような一般的なWeb企業ではないからな
AWSやCloudflareがお前が勤められるような一般的なWeb企業ではないからな
269デフォルトの名無しさん
2023/09/11(月) 10:02:52.41ID:lXcI/Ajd >Rust支持者は、現状認識が間違っていて、妄想が激しい。
これは一理ある
これは一理ある
270デフォルトの名無しさん
2023/09/11(月) 10:06:46.41ID:lXcI/Ajd >Rustは難しいとか、Cより安全とかいうことを言っている連中は、残念ながら経験不足
Rustの経験不足か、webの経験不足であるのは間違いないが、なによりプログラマーとしての経験が足りてない
これも一理ある
Rustの経験不足か、webの経験不足であるのは間違いないが、なによりプログラマーとしての経験が足りてない
これも一理ある
271デフォルトの名無しさん
2023/09/11(月) 10:08:43.00ID:lXcI/Ajd272デフォルトの名無しさん
2023/09/11(月) 12:53:14.26ID:h3RiCxz0 とりあえず現状行列ライブラリをRustで実装するのは止めてる。理由はsimd命令周りの対応が微妙すぎるから。
今はC言語で行列ライブラリを実装している。Rustへの移植性を考えたデータ構造にはしてある。とりあえず1000×1000の行列積をシングルスレッドで0.034秒で実行できるようになった。手元のIntelMKLと大体同じくらいの速度。まだ、試してない最適化がいくらかあるのでそこら辺を実装したら0.025秒台くらいは目指せそう。行列積の実装で大分スキルがついてきたので固有値問題とか逆行列の計算も実装していきたい。ここら辺のことが一通り終わったらGitHubにソースコードを挙げようと思う。
今はC言語で行列ライブラリを実装している。Rustへの移植性を考えたデータ構造にはしてある。とりあえず1000×1000の行列積をシングルスレッドで0.034秒で実行できるようになった。手元のIntelMKLと大体同じくらいの速度。まだ、試してない最適化がいくらかあるのでそこら辺を実装したら0.025秒台くらいは目指せそう。行列積の実装で大分スキルがついてきたので固有値問題とか逆行列の計算も実装していきたい。ここら辺のことが一通り終わったらGitHubにソースコードを挙げようと思う。
273デフォルトの名無しさん
2023/09/11(月) 13:33:50.47ID:e0SgkFmy274デフォルトの名無しさん
2023/09/11(月) 13:38:06.05ID:h3RiCxz0 >>273
今、どうするか検討中。内部の行列積を計算するとことろなどのsimdやアセンブラを直接叩くところ以外は最終的にRust純正を目指していきたい。
今、どうするか検討中。内部の行列積を計算するとことろなどのsimdやアセンブラを直接叩くところ以外は最終的にRust純正を目指していきたい。
275デフォルトの名無しさん
2023/09/11(月) 14:56:21.77ID:ph9tsm2Y276デフォルトの名無しさん
2023/09/11(月) 16:03:47.99ID:lXcI/Ajd >>275
https://paiza.io/projects/qaPwuRKbL8hEk-wHDWIqXg?language=python3
import requests
urls = [
('https://mevius.5ch.net/tech/dat/', 8),
('https://mevius.5ch.net/tech/dat/1693451813.dat', 54),
('https://mevius.5ch.net/test/read.cgi/tech/1693451813/', 45)]
for (url, l) in urls:
resp = requests.get(url)
ct = resp.headers['Content-Type']
print(f"{url} : {ct}")
tx = resp.text[-l:]
print(f"{tx.encode('latin1') if ct == 'text/plain' else tx}")
↓
https://mevius.5ch.net/tech/dat/ : text/html
</html>
https://mevius.5ch.net/tech/dat/1693451813.dat : text/plain
b'\x8e\xa9\x95\xaa\x82\xc5\x92\xb2\x82\xd7\x82\xeb <br> https://mevius.5ch.net/tech/dat/ <>\n'
https://mevius.5ch.net/test/read.cgi/tech/1693451813/ : text/html; charset=Shift_JIS
5ちゃんねる<br><br><br><br></footer></body></html>
ほんとうにありがとうございました
https://paiza.io/projects/qaPwuRKbL8hEk-wHDWIqXg?language=python3
import requests
urls = [
('https://mevius.5ch.net/tech/dat/', 8),
('https://mevius.5ch.net/tech/dat/1693451813.dat', 54),
('https://mevius.5ch.net/test/read.cgi/tech/1693451813/', 45)]
for (url, l) in urls:
resp = requests.get(url)
ct = resp.headers['Content-Type']
print(f"{url} : {ct}")
tx = resp.text[-l:]
print(f"{tx.encode('latin1') if ct == 'text/plain' else tx}")
↓
https://mevius.5ch.net/tech/dat/ : text/html
</html>
https://mevius.5ch.net/tech/dat/1693451813.dat : text/plain
b'\x8e\xa9\x95\xaa\x82\xc5\x92\xb2\x82\xd7\x82\xeb <br> https://mevius.5ch.net/tech/dat/ <>\n'
https://mevius.5ch.net/test/read.cgi/tech/1693451813/ : text/html; charset=Shift_JIS
5ちゃんねる<br><br><br><br></footer></body></html>
ほんとうにありがとうございました
277デフォルトの名無しさん
2023/09/11(月) 17:53:54.58ID:/kk+oPKa メモリ関係に自信があるわりにはFirefoxでamebaTVを見ると
メモリリークが発生して落ちる件、修正されませんよね
かれこれ一ヶ月くらい経過するのに
メモリリークが発生して落ちる件、修正されませんよね
かれこれ一ヶ月くらい経過するのに
278デフォルトの名無しさん
2023/09/11(月) 18:31:28.11ID:Xp4QPw8N それはamebaTVの問題やろ
プロファイリングしろ
プロファイリングしろ
279デフォルトの名無しさん
2023/09/11(月) 18:48:13.64ID:d+PRxn/f JavaScript処理系の問題と区別できないレベルの
人がいるんだ
人がいるんだ
280デフォルトの名無しさん
2023/09/11(月) 19:00:36.49ID:ECkhuLcp Rustを庇うつもりはないが総本山のfirefoxでも
RustよりC/C++の方がステップ数は多いんだよ
更に言うとJavaScriptのステップ数はもっと多い
Rustが原因とは限らない
RustよりC/C++の方がステップ数は多いんだよ
更に言うとJavaScriptのステップ数はもっと多い
Rustが原因とは限らない
281デフォルトの名無しさん
2023/09/11(月) 19:05:21.90ID:zwAMgEJb >>226
スレタイ読み返したら?
スレタイ読み返したら?
282デフォルトの名無しさん
2023/09/11(月) 19:12:24.81ID:zwAMgEJb スレタイはC++とRustなのに、何故かGoとかJavaScript等とRustの話にすり変わってC++が影に隠れてしまう不思議。
283デフォルトの名無しさん
2023/09/11(月) 20:16:38.03ID:MZ4x1aOt このスレのスレタイは「Rustレスバ会場 ワ無し」だよ
284デフォルトの名無しさん
2023/09/11(月) 20:24:08.02ID:ECkhuLcp 「Rustはこの先生きのこれるか」かと思ってた
285デフォルトの名無しさん
2023/09/12(火) 00:56:45.92ID:h9tsc2mb C++派だが、別にいいんだ
氏んでもRust使わないってまで言ってないんだ、動向は気になるにきまってるので
氏んでもRust使わないってまで言ってないんだ、動向は気になるにきまってるので
286デフォルトの名無しさん
2023/09/12(火) 01:43:18.48ID:OkyJ0X+a AVX512で行列ライブラリ開発するのは止めたわ。発熱がでかくて使えば使うほど性能が低下して全然安定しない。1000×1000の行列積なんてシングルスレッドで100回平均で0.034秒だったのが10000回平均だと0.039秒まで落ちる。
287デフォルトの名無しさん
2023/09/12(火) 02:19:08.34ID:k1dOXU9O288デフォルトの名無しさん
2023/09/12(火) 03:25:57.16ID:t8zMJnwJ スレチだが、AVX512がすべての命令に対応しているわけじゃないし発熱は命令のせいじゃないしSIMDの話で急にスレッドの話が出てくるのも意味不明だし
一行にバグ詰め込みすぎだろw
一行にバグ詰め込みすぎだろw
289デフォルトの名無しさん
2023/09/12(火) 08:42:02.94ID:ApNREiLC >>287
reqwestのbodyがStringか&'static strを要求するのは
非同期処理が終わるまで送信データが存在することを保証するためだろうから
blockingで処理が終わるまでStringが存在することを外から保証できるなら
&str(&String.as_str())を&'static strにtransmuteすればbodyに使えるはず
本当に安全かは分からん
reqwestのbodyがStringか&'static strを要求するのは
非同期処理が終わるまで送信データが存在することを保証するためだろうから
blockingで処理が終わるまでStringが存在することを外から保証できるなら
&str(&String.as_str())を&'static strにtransmuteすればbodyに使えるはず
本当に安全かは分からん
290デフォルトの名無しさん
2023/09/12(火) 11:18:20.04ID:VdHLMOad >>287
現実の使われ方はどちらかしかない
(1)毎回値が変わる
値が変わるのだからStringを使えばよくて値が変わるのだからcloneは出て来ない
(2)毎回値が同じ
値がずっと同じならば&'static strを使えばよくてcloneは出て来ない
後者にする場合の具体的なコード変更点はこうなる
let j: String = 略;
let j: &'static str = j.leak();
for _i in 0..2 {
test_client(j)?;
ずっと同じ値を使い続けるならリークさせてもよいわけでStringを&'static strへ安全に変換できる
あとは呼び出し関数側も&'static strに変える
fn test_client(j: &'static str) -> Result<(), Box<dyn Error>> {
現実の使われ方はどちらかしかない
(1)毎回値が変わる
値が変わるのだからStringを使えばよくて値が変わるのだからcloneは出て来ない
(2)毎回値が同じ
値がずっと同じならば&'static strを使えばよくてcloneは出て来ない
後者にする場合の具体的なコード変更点はこうなる
let j: String = 略;
let j: &'static str = j.leak();
for _i in 0..2 {
test_client(j)?;
ずっと同じ値を使い続けるならリークさせてもよいわけでStringを&'static strへ安全に変換できる
あとは呼び出し関数側も&'static strに変える
fn test_client(j: &'static str) -> Result<(), Box<dyn Error>> {
291デフォルトの名無しさん
2023/09/12(火) 12:38:51.25ID:OkyJ0X+a >>288
プログラムとしては正常に動作してるんだよ。これは出力結果をテストして確認もしている。ただ、AVX256に比べてCPUの温度変化を監視すると明らかに温度上昇が確認されるんだよね。自分のPCがそろそろ3年目に突入するってのもあるかもしれないけど、明らかにCPUに良くない影響を及ぼしてる兆候は確認できたし。実際AVX256ベースのプログラムにすると10000回1000×1000の行列積を回してもほとんど100回平均の時と平均実行時間に差がなかった。
プログラムとしては正常に動作してるんだよ。これは出力結果をテストして確認もしている。ただ、AVX256に比べてCPUの温度変化を監視すると明らかに温度上昇が確認されるんだよね。自分のPCがそろそろ3年目に突入するってのもあるかもしれないけど、明らかにCPUに良くない影響を及ぼしてる兆候は確認できたし。実際AVX256ベースのプログラムにすると10000回1000×1000の行列積を回してもほとんど100回平均の時と平均実行時間に差がなかった。
292デフォルトの名無しさん
2023/09/12(火) 12:44:50.45ID:OkyJ0X+a IntelのAVX256ベースに絞ればRustの安定版でも行列ライブラリが開発できそうではあるので、AVX512に対応するかいなかは結構重要な分岐なんですよ。まあ、Armのsimd命令拡張セットにはRustは安定版では対応してないし。AMDに関してはx86アーキテクチャだった気がするのでもしかしたらRustの安定版でも行けるかもしれんけど。
293デフォルトの名無しさん
2023/09/12(火) 15:00:04.98ID:Q9fCm6fi 🔥は予想通りだった
294デフォルトの名無しさん
2023/09/12(火) 18:20:02.75ID:9gzYBW0v >>293
どんな予想?
どんな予想?
295デフォルトの名無しさん
2023/09/12(火) 20:54:22.07ID:XeofXrcc296デフォルトの名無しさん
2023/09/12(火) 21:46:29.14ID:kYbrMwgz 次のようなトレードオフが異なります。
(1) プリプロセッサ(Cプリプロセッサ、Lex / YACなど)は、おそらく最も重い扱いです。それらは完全に一般的ですが、開発者の経験とツールの統合の点で最悪です。
(2) 一部の言語(LispやRustなど)は、マクロ拡張機能をサポートしており(時には「衛生的」)、構文の拡張と定型的な削減を可能にし、ツールの統合をいくらか改善します。
(3) C ++のようないくつかの古い言語には、ランタイム言語のデュアルである非常に大きく複雑なメタプログラミング言語(テンプレート)があります。これらは習得が著しく難しく、コンパイル時間とエラーメッセージが不十分です。
(1) プリプロセッサ(Cプリプロセッサ、Lex / YACなど)は、おそらく最も重い扱いです。それらは完全に一般的ですが、開発者の経験とツールの統合の点で最悪です。
(2) 一部の言語(LispやRustなど)は、マクロ拡張機能をサポートしており(時には「衛生的」)、構文の拡張と定型的な削減を可能にし、ツールの統合をいくらか改善します。
(3) C ++のようないくつかの古い言語には、ランタイム言語のデュアルである非常に大きく複雑なメタプログラミング言語(テンプレート)があります。これらは習得が著しく難しく、コンパイル時間とエラーメッセージが不十分です。
297デフォルトの名無しさん
2023/09/12(火) 21:54:52.19ID:uAwiXx2o テンプレートメタプログラミング楽しいよ!
298デフォルトの名無しさん
2023/09/12(火) 23:37:42.92ID:Ez0KcXtp299デフォルトの名無しさん
2023/09/12(火) 23:38:22.02ID:Pu8riC7w >>296
どういう質問でこの回答出てきたのかぬ
どういう質問でこの回答出てきたのかぬ
300デフォルトの名無しさん
2023/09/12(火) 23:59:02.76ID:q0VrB5Vz 複オジ節
・当たり障りのない事
・周知の客観的事実
・一解釈、不確かな一説
・自説、自分の思い込み
・流布したい嘘
が全て断言調なところ
徐々に自説、嘘を織り込んで行く、
絶対儲かりますと畳み込む詐欺師と区別がつかない
最悪そのものかも知れない
なお上記は複オジ節で書かれている、テンプレ推奨
・当たり障りのない事
・周知の客観的事実
・一解釈、不確かな一説
・自説、自分の思い込み
・流布したい嘘
が全て断言調なところ
徐々に自説、嘘を織り込んで行く、
絶対儲かりますと畳み込む詐欺師と区別がつかない
最悪そのものかも知れない
なお上記は複オジ節で書かれている、テンプレ推奨
301デフォルトの名無しさん
2023/09/13(水) 00:05:40.15ID:1hA9kn3L >>296はmojo公式ページ
302デフォルトの名無しさん
2023/09/13(水) 00:54:47.03ID:PItzFlj9 機械翻訳の不自然な日本語と同カテゴリだったのかw
303デフォルトの名無しさん
2023/09/13(水) 01:01:32.82ID:8tIdE0x0 >>301
faqかなんか?原文かURL おねがいしてイイかぬ
faqかなんか?原文かURL おねがいしてイイかぬ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 清涼飲料水から麻薬成分東京都が注意喚起 [おっさん友の会★]
- 生活保護廃止、公務員の給与に最低賃金を適用⇦これをやるだけで国民の9割の不満が解消されるのにやらない理由 [218488394]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- 【動画】男女混合レスリングのガチ試合の様子がこちら [738130642]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 【日刊】暇空茜、また敗訴🥸 [359965264]
- 台湾政党が高市首相「存立危機事態」発言に感謝の書簡「我々の心を強く奮い立たせるものでした」 [834922174]
