結局C++とRustってどっちが良いの? 7traitsat TECH
結局C++とRustってどっちが良いの? 7traits - 暇つぶし2ch159:デフォルトの名無しさん
23/09/07 10:19:38.00 yf0XBZB8.net
>>155 そうですあなたが複オジです

160:デフォルトの名無しさん
23/09/07 11:08:24.82 cG1GNwJh.net
CとRustどっちがいいの?ならわかるけど、なぜC++を比較してるの?
C++は大規模開発時に楽する目的で発明された言語なのに
優秀な人材しかいないマイクロソフトがWindowsNT開発に使ったら生産性落ちたっていう欠陥言語だよ

161:デフォルトの名無しさん
23/09/07 14:54:23.24 KHJyfSOM.net
>>153
RustはC++とは相性最悪だと思うけど、Cは言語仕様がシンプルだからC言語の方がRustの仕様に合わせやすそうな気はする。C++よりも関数型のCの方がライフタイムの実装楽そうだし。

162:デフォルトの名無しさん
23/09/07 15:30:26.25 CEV0gVYD.net
隔離ゴミ溜めにふさわしい聡明さw

163:デフォルトの名無しさん
23/09/07 17:01:41.78 jI1DUGHn.net
なんじゃそれ、と思うようなことが、ただの言葉足らずだったりすることもあるしな よくわからない話は静観

164:デフォルトの名無しさん
23/09/07 17:21:26.84 DVHOJsg7.net
平日昼に役に立たないマウント合戦するクソスレ
>>1
板違いだけじゃなくキチガイ醸成するスレ立てんな
こんな奴らに居場所与えたらどこかに放火するような犯罪者になるわ

165:デフォルトの名無しさん
23/09/07 17:32:23.27 h7SChVbG.net
>>161
とキチガイが申しております

166:デフォルトの名無しさん
23/09/07 18:31:09.37 ViOBJqCH.net
>>161
なんでわざわざ書き込むんだろう…

167:デフォルトの名無しさん
23/09/08 06:44:16.08 qdhugbG5.net
もう飽きたし面倒くさいからC言語でいいや

168:デフォルトの名無しさん
23/09/08 12:22:42.70 Qwh1dPVP.net
CとRust比べたら普通にRustが勝ってしまうからつまらん
Cのメリットはいちいちunsafe書かずに済むことくらい

169:デフォルトの名無しさん
23/09/08 12:51:55.61 kALI0S3x.net
じゃあなんでみんなrustを使わないの???

170:デフォルトの名無しさん
23/09/08 13:16:19.23 Rkiz5MVI.net
CとRustを比べるとCの方が開発コストが明らかに低い。なぜならCの方がライブラリが揃ってるうえ、ライフタイムの縛りがないから。個人的にはCは数値計算のライブラリ開発ではRustよりも優れていると思う。C数値計算のライブラリはメモリリークをそこまで気にしなくて良いし未定義動作も使用者が避ける工夫をすれば大きな問題にならなそうだしね。C言語の問題はサーバーやOSサイド、Webアプリケーションの開発だと思う。ここら辺の開発ははっきりいってメモリリークとかは致命的な問題に繋がりかねない。だからISやWebアプリケーションの開発はRustでやった方が良いと思う。

171:デフォルトの名無しさん
23/09/08 13:20:31.98 Rkiz5MVI.net
>>167
C数値計算➡数値計算
IS➡OS
色々入力ミスった。

172:デフォルトの名無しさん
23/09/08 14:24:57.53 Qwh1dPVP.net
>>166
ごめん >>165 は皮肉なんだ
特に2行目

173:デフォルトの名無しさん
23/09/08 17:42:23.48 xhNNQs6H.net
>>166
得られる恩恵<置き換えコスト
だからです。

174:デフォルトの名無しさん
23/09/08 21:55:09.00 Wdg5/Ojr.net
AIチャットの台頭でC++勢いづいてるのまじうける
論文形式で全部ウェブに言語仕様ドキュメントとして残すやり方がAIと親和性高かったのかね

175:デフォルトの名無しさん
23/09/08 22:24:28.06 c97HRFoQ.net
>論文形式で全部ウェブに言語仕様ドキュメントとして残すやり方
なにそれ?

176:デフォルトの名無しさん
23/09/09 00:45:01.52 uwI0AfpW.net
>>170
+1

177:デフォルトの名無しさん
23/09/09 02:28:33.04 d/jTMxPI.net
Webアプリケーションのサーバーサイドの開発とかはかなりRustによる恩恵が大きい気がするんだけどな。

178:デフォルトの名無しさん
23/09/09 08:33:48.48 /nk0WbMz.net
新規のものは可能な限りRust製になっていってるが
既存のものをそのまま書き換えるのはどの言語間であろうがコストが高い
ただしスクリプト言語からC/C++/Rustへはリソースコスト激減効果が上回りやすい

179:デフォルトの名無しさん
23/09/09 08:50:52.17 rTxZpTbM.net
>新規のものは可能な限りRust製になっていってるが
マジで?

180:デフォルトの名無しさん
23/09/09 11:09:25.95 MLVcfiFl.net
>>175
>新規のものは可能な限りRust製になっていってるが
どこで?

181:デフォルトの名無しさん
23/09/09 11:39:16.47 IggX53ET.net
>>175
マジで?
PHPで適当に書いた使い捨てツールもRustで書き直せるかな

182:デフォルトの名無しさん
23/09/09 12:32:31.48 vkUXrWN4.net
>>174
Goに比べて何が優れてるの?

183:デフォルトの名無しさん
23/09/09 12:35:49.92 vkUXrWN4.net
GCガーメモリ効率ガーだとかいうんだろうけど
ぜひISUCONでRustで優勝してみてほしいわ
優勝者は基本的に全員Goを使ってるけど、これは生産性とパフォーマンスが優れてる証拠なんだよね

184:デフォルトの名無しさん
23/09/09 12:45:04.17 bJGuwc+m.net
Goはスクリプト書く程度の規模ならよいよ
しかし普通にプログラミングしていく規模だと機能の貧弱さもあり開発がつらくなる
ようやく導入されたジェネリクスも使い勝手よくない

185:デフォルトの名無しさん
23/09/09 12:51:14.78 MLVcfiFl.net
>>181
「新規のものが可能な限りRust製になっていってる」のはどこで?

186:デフォルトの名無しさん
23/09/09 12:53:27.32 dXR1Nip0.net
ISUCONはGoの次に使われているのが各スクリプト言語群
C++が壊滅的な状況を見てもその場しのぎのジャンル
ISUCONをもってC++・RustよりGoが優れていると主張するのは滑稽

187:デフォルトの名無しさん
23/09/09 12:57:12.14 J/5NSGrp.net
ジェネリクスって良くないアイデアの極北よ?

188:デフォルトの名無しさん
23/09/09 13:03:47.44 dXR1Nip0.net
ここはジェネリックを使いまくるC++とRustのスレ

189:デフォルトの名無しさん
23/09/09 13:16:45.85 vkUXrWN4.net
>>183
うん、だからRust自体は否定してないよ
WebにRustが向いているのを否定しているだけで
WebはGoかTypescriptなどのスクリプト言語でいいよね

190:デフォルトの名無しさん
23/09/09 13:18:12.75 vkUXrWN4.net
RustがWebに向いているならISUCONでRustの初期スコアでGoに負けてるのは何故?
なんで予選通過が1組だけなの?

191:デフォルトの名無しさん
23/09/09 13:21:01.15 vkUXrWN4.net
Goはジェネリクスがないおかげで、標準ライブラリやOSSのコードが異常に読みやすい
Rustのマクロ、トレイト、ジェネリクスのてんこ盛りの標準ライブラリと比べると対照的
もちろんジェネリクス向いている場面はあるが機能があると必要もないところで使いたがるアホが出てくるのが問題なのよね
力に溺れてしまうのよ
その結果生産されたゴミがScalaとかのクソ言語

192:デフォルトの名無しさん
23/09/09 13:29:45.94 oUPrnFIv.net
>>188
Goは多くがジェネリクスを入れて欲しいとの要望でついにジェネリクスを導入した
しかし他の言語と比べるとGoのジェネリクスは使いにくく多くががっかりした
それ以降はGo本スレも過疎ってる

193:デフォルトの名無しさん
23/09/09 13:31:21.28 uDMMOHqV.net
>>186
>>187
スレタイ見ような

194:デフォルトの名無しさん
23/09/09 13:58:14.77 vkUXrWN4.net
>>189
なおトレンド
日本
URLリンク(trends.google.com)
アメリカ
URLリンク(trends.google.com)

195:デフォルトの名無しさん
23/09/09 13:58:16.63 vkUXrWN4.net
>>189
なおトレンド
日本
URLリンク(trends.google.com)
アメリカ
URLリンク(trends.google.com)

196:デフォルトの名無しさん
23/09/09 14:00:51.94 oUPrnFIv.net
>>192
Goは5年前で頭打ちか

197:デフォルトの名無しさん
23/09/09 17:42:02.02 e/q3RqSr.net
Rustは目的と手段が逆転している人間が使う言語
特にWebでRustをイキって使うやつ
何を作るのではなく何で作るのかを重視するマウントイキリ野郎

198:デフォルトの名無しさん
23/09/09 17:52:25.50 5dSlQ8VJ.net
>>184
あなたのお気持ちはどうでもいいじゃないすかw

199:デフォルトの名無しさん
23/09/09 18:08:20.78 rTxZpTbM.net
>>192
うぅ、、Rustさん(;;)

200:デフォルトの名無しさん
23/09/09 18:51:54.71 pYp2eZcM.net
>>192
Rustは上がっていき
Go行き詰まりだな

201:デフォルトの名無しさん
23/09/09 19:04:27.37 5dSlQ8VJ.net
>>197
それは今そうなだけでこの先わからないじゃないすか
それにgoogleトレンドの結果だけでそんなこと言ったらガキっぽいじゃないすか、ねえ

202:デフォルトの名無しさん
23/09/09 20:36:58.75 cxxghb5d.net
goもrustもググラビリティ悪いからこれ以上発展しない

203:デフォルトの名無しさん
23/09/09 21:37:17.46 WePQ7y3A.net
>>192
Goとrust同じような言語年齢なのにGoのほうがトレンド高いのか
難しい言語のRustは学習時間が掛かる・開発者をあんまり集められないとかで避けられるのかもな

204:デフォルトの名無しさん
23/09/09 22:10:32.74 1+ERYJG2.net
その二つは10年違う
goroutine使えるようになったのが2009年
Rustがgoroutineに該当するタスクを使えるようになった(=今のFutureとasyncが使えるようになった)のが2019年
この10年の差が大きい
>>192で興味深いのは2019年からどんどん上がるRustと下がるGo

205:デフォルトの名無しさん
23/09/09 23:14:39.35 rzpNtN6B.net
C++のコルーチンはいいぞ(どさくさ

206:デフォルトの名無しさん
23/09/10 00:29:47.43 DLzpZfEZ.net
Goは何がクソといってまずネーミングが致命的にクソ
あとマスコットがキモすぎ
あれじゃだめだ

207:デフォルトの名無しさん
23/09/10 03:07:25.31 9TiyMpcM.net
>>203
全面的に同意する

208:デフォルトの名無しさん
23/09/10 09:15:38.67 zU/sZl9q.net
>>201
それはgoroutineに比べて何が優れてるの?
2019から入ったってことはNode.jsと同じで非同期な仕組みがコロコロ変わって不安定でぶっ壊れやすいってことだよね

goroutineはGoが出た当初から何も仕組みが変わってないからどのライブラリでも共通した仕組みで使えるけど

209:デフォルトの名無しさん
23/09/10 09:21:52.03 QnQmm6lX.net
Rustを誰も使ってないってことが答えなんだろ

210:デフォルトの名無しさん
23/09/10 09:24:04.51 zU/sZl9q.net
コンピュータサイエンスや低レイヤを学びたいならRustやC++ではなくCがよくて
現代で実用的な低レイヤ以外のソフトを作るにはGoが優れてる

なぜかというとどちらとも言語仕様がシンプルでどうでもいい文法の学習をすぐに終わらせることができるから
わかっているやつは言語の機能じゃなくて何を作るのかを重視するのや

Rustってのは低レイヤだけに適しているんだろうけど、それならCでいいしZigなどのシンプルな言語の方がCの後継になりうるよね

RustってのはあくまでもC++の後継であって、現在C++で作られてる特殊なアプリの後継にしかならないよね
C++がWebに向いていないのと同様Rustも当然向いていない

なぜWeb屋はCやC++の経験がないのに、Rustを使ってイキリ出すのかが本当に謎
misskeyとかな

211:デフォルトの名無しさん
23/09/10 09:37:13.77 zU/sZl9q.net
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

212:デフォルトの名無しさん
23/09/10 10:11:48.00 oEydPFxE.net
>>205
Rustのタスクはスタックレス対称コルーチンだからGoより速くて軽い
>>4のようなネットインフラにも使われていて安定して堅固
Goは劣るためRustが採用されている

213:デフォルトの名無しさん
23/09/10 10:38:10.70 JNK4y9LH.net
>>209
webだと結局問い合わせ時間がボトルネックになるからその差が問題になるケースは限られるやろがい。
ボトムネックとボトルネックくらいの差でしかない

214:デフォルトの名無しさん
23/09/10 10:51:25.03 yM7j2B0I.net
>>207
>RustってのはあくまでもC++の後継であって、現在C++で作られてる特殊なアプリの後継にしかならないよね
なるわけないじゃん
後継じゃねーよ
C++とRustは完全に別物

215:デフォルトの名無しさん
23/09/10 10:53:50.09 yM7j2B0I.net
>>207
>なぜWeb屋はCやC++の経験がないのに、Rustを使ってイキリ出すのかが本当に謎
ここは同意かな
C++使えないweb屋はRustでこれはいける!ひゃっはー状態なんだろ

216:デフォルトの名無しさん
23/09/10 10:55:05.74 zU/sZl9q.net
>>211
Cの後継ではないのは確かだけど、C++でもないならなんの後継なの?
Mozillaが作ってるからC++だと思ったけど

217:デフォルトの名無しさん
23/09/10 11:12:11.26 yM7j2B0I.net
いやむしろRustはCの後継と言っていい
C++の後継にはならない

218:デフォルトの名無しさん
23/09/10 11:41:24.89 sArcEmyj.net
>>203
ネーミングが悪いのはRustだろ。しかもシンボルマークが歯車だから、錆び付いて非効率という
印象しかない。開発者は何でこんな変な名前を選んだのか。
メモリ安全、コンパイル時にエラー検出でプログラムの信頼性は保証されるから、言語名は
Trustだ! とドヤ顔で言い張れる鉄面皮ではさすがになかったんだろうな。

219:デフォルトの名無しさん
23/09/10 11:41:42.14 VMvGrq1x.net
>>212
Web屋の世界最大手のAWSとCloudflareもWebインフラをRustで記述して実運用してるよ
ソースは>>4

220:デフォルトの名無しさん
23/09/10 11:42:31.89 zU/sZl9q.net
>>214
そっくりそのまま返すわ
CとRustは完全に別物だから後継にはならねーよ
言語仕様を削ぎ落としたCと増やしまくってるRust
増やしまくってるのはC++と同じだからRustはC++に近い言語

221:デフォルトの名無しさん
23/09/10 11:45:42.86 zU/sZl9q.net
>>216
それを一般的なWeb屋とは言わないんだが
インフラ屋だよね

222:デフォルトの名無しさん
23/09/10 11:55:01.88 yM7j2B0I.net
>>217
全然理由になってなくて草

223:デフォルトの名無しさん
23/09/10 12:22:11.83 zU/sZl9q.net
>>219
お前の中ではそうなんだろうけどこれはCを触るエンジニアでは共通認識だよ
逆にお前がRustとC++が別物である根拠を示せよ

224:デフォルトの名無しさん
23/09/10 12:29:44.22 kn32mMwx.net
C++もRustもCの別方向の進化形でしょ
C⇔C++の書き換えとC⇔Rustの書き換えは頑張ればできそうな気がするけど
C++⇔Rustの書き換えは禿げる

225:デフォルトの名無しさん
23/09/10 13:12:29.84 sSPr1k9L.net
結論から言えば、RustはCの後継でも、C++の後継
でもない。どちらからも言語間距離がとても遠い。

226:デフォルトの名無しさん
23/09/10 13:33:20.59 yM7j2B0I.net
>>222
┏━C++
C
┗━━━━━Rust
こうだよ

227:デフォルトの名無しさん
23/09/10 15:28:39.58 Ap5G6qZA.net
web屋がrustに流れ着くのは自然な流れ
それが理解できないのは経験不足です

228:デフォルトの名無しさん
23/09/10 16:29:46.43 JNK4y9LH.net
>>224
そんな流れまだ無いよw
今後来るのかは知らんけど

229:デフォルトの名無しさん
23/09/10 17:08:07.27 sIJu/rWm.net
Rustでの非同期プログラミングは最悪だ、Goが最高ってのが流行っているみたいだね
stackless coroutineだから、Rustは糞ってのも書いてあるね
Async Rust Is A Bad Language
URLリンク(bitbashing.io)
URLリンク(news.ycombinator.com)
この辺の記事も関連している
URLリンク(journal.stuffwithstuff.com)

230:デフォルトの名無しさん
23/09/10 18:07:26.76 QnQmm6lX.net
>>222
haskellの後継だと思ってた

231:デフォルトの名無しさん
23/09/10 18:07:45.14 KCQnpZM7.net
Rust自体が難しいのに、更に非同期プログラミングとなるとどんでもない難易度になることになるのは想像できるわな
Web屋がそんなの使いこなせるわけないだろ
Goなら1ヶ月あれば快適にコードをかけて非同期プログラミングもできるようになるだろうけど、Rustは何ヶ月かかるんだろうね
AWSやCloudflareはWeb屋じゃないし

232:デフォルトの名無しさん
23/09/10 18:08:09.28 QnQmm6lX.net
>>224
haskellサイコー!

233:デフォルトの名無しさん
23/09/10 18:42:25.15 Nc6gtmY+.net
UnityのC#のポジションに来れば習得するわ
今はまだその時期じゃない

234:デフォルトの名無しさん
23/09/10 20:56:07.05 UYX28Tlr.net
>>224
きっと途中で嫌になるに一票。

235:デフォルトの名無しさん
23/09/10 20:59:42.76 RHEbDKKy.net
>>224
そう言われても、たしかにwebのほうは経験不足…やってねえし
てかぶっちゃけ、webの進化にはついていけん
ライブラリ・フレームワークの名前聞くたびにぐぐるしかない
ある意味、C++でもRustでもなく、JavaScript最強を実感する世界

236:デフォルトの名無しさん
23/09/10 21:40:34.45 UYX28Tlr.net
Web屋は、Web屋であり、デスクトップアプリの
事情は分かって無いし、また、Web領域を超える
こともない。そしてRustを別の何かと勘違いして
いるのでそのうち落胆する。

237:デフォルトの名無しさん
23/09/10 21:40:35.44 UYX28Tlr.net
Web屋は、Web屋であり、デスクトップアプリの
事情は分かって無いし、また、Web領域を超える
こともない。そしてRustを別の何かと勘違いして
いるのでそのうち落胆する。

238:デフォルトの名無しさん
23/09/10 22:16:00.92 ZNDzog4E.net
web屋は頭悪いんだからRails使っとけってことかね
>>228

239:デフォルトの名無しさん
23/09/10 22:32:35.73 UYX28Tlr.net
twitterでC++でCMakeやmakeのビルドエラーを直す
難しさを指摘してる人がいるけど、それは、
C++自体の問題じゃなくて、多くはGNUのプログラマ
とAutoconfやcmakeの難しさと書き方の問題によっている。
オープンソース系のCMakeやmakefileは必要以上に難しい構造をしているから。
configureなども、大部分が意味の無い構造になっているが、
それは。CやC++の問題ではない。
また、VS+MFCを使っていればその問題は生じない。
が、オープンソース系のプログラマは根本的に余り優秀でない
のでどうしてもおかしな構造をとりがち。
別の宇宙でRustがオープンソース系で流行り出せば
同様に複雑化するだろう。

240:デフォルトの名無しさん
23/09/10 22:42:37.24 UYX28Tlr.net
twitterでRustの良さを指摘してる人のページを
見てみるとプライドが高いことが分かって来た。
独自基準で自分が優秀だと思い込んでいるような
経歴を持っている。

241:デフォルトの名無しさん
23/09/10 22:44:16.11 /jMAELPG.net
頭悪そうな文章だと思ってたらアンチOSSお爺さんだったwww

242:デフォルトの名無しさん
23/09/10 22:46:02.90 UYX28Tlr.net
そういう人達は学業から何から何まで
人生をかけてプログラミングの事ばかり
していてね。どうでもいいような競技みたいな
ことばかりこっていたりする。
他の人が参加すらしていない競技なのに。

243:デフォルトの名無しさん
23/09/10 22:47:03.48 UYX28Tlr.net
ずる賢い手法で自分が一番みたいな、いなかっぺ
大将みたいな状態になっているということだ。

244:デフォルトの名無しさん
23/09/10 22:51:12.74 UYX28Tlr.net
Rust支持者は、現状認識が間違っていて、妄想が激しい。
例えばプログラミング業界の認識からして間違っている。
集団幻覚みたいな状態にあるのかもしれない。
間違った、あるいは、自分に都合の良い認識の人が
集団を形成し、代々延々と続いた状態にあるのだ。

245:デフォルトの名無しさん
23/09/10 22:58:12.29 uILl1E7m.net
>>236
>また、VS+MFCを使っていればその問題は生じない。
autotoolsやcmakeを使っている場合に比べて移植性が低い

246:デフォルトの名無しさん
23/09/10 22:59:51.44 UYX28Tlr.net
>>242
そもそも誰も使ってないOSに移植する必要もない。

247:デフォルトの名無しさん
23/09/10 23:00:43.53 I57c0J7v.net
まぁ実態がホントにそーかまでわ分からんが 仮にそーならソレわソレでシヤワセな状態と言えるのカモだぬ

248:デフォルトの名無しさん
23/09/10 23:12:06.85 uILl1E7m.net
>>243
誰も使ってないOSに移植する人など誰もいない

249:デフォルトの名無しさん
23/09/10 23:13:09.84 UYX28Tlr.net
一般人向けデスクトップアプリはWindowsだけで十分。

250:デフォルトの名無しさん
23/09/10 23:14:32.53 UYX28Tlr.net
OSS狂信者は自分の理想社会になるまで頑張り続けてるだけ。
共産主義者。

251:デフォルトの名無しさん
23/09/10 23:25:46.54 I57c0J7v.net
いまとなってわみんなWebアプリになってしまったので プラットフォームごとの独自GUIほすいという状況わ かなり限定的と思いますケドぬ たとえばPCゲのようにパフォーマンス命のバヤイトカだぬ

252:デフォルトの名無しさん
23/09/10 23:34:44.32 uILl1E7m.net
>>247
>OSS狂信者は自分の理想社会になるまで頑張り続けてるだけ。
>共産主義者。
それは>>246のような考え方を言うのでは?
自分で自分のこと言及しているよにしか見えん

253:デフォルトの名無しさん
23/09/10 23:58:13.35 Ap5G6qZA.net
webが特別なのはリリースサイクルが異常に早いこと
だからRustに魅力を感じるのは当然
Rustは難しいとか、Cより安全とかいうことを言っている連中は、残念ながら経験不足
Rustの経験不足か、webの経験不足であるのは間違いないが、なによりプログラマーとしての経験が足りてない

254:デフォルトの名無しさん
23/09/11 00:13:07.35 TuCSEATp.net
2年間5chやってもバレバレの自演しかできないのも経験不足?

255:デフォルトの名無しさん
23/09/11 00:19:30.06 x8WXqWDl.net
朝から晩まで5chで経験不足連呼するだけのゴミ人生でした

256:デフォルトの名無しさん
23/09/11 01:58:15.09 k08oejKU.net
>>249
意味不明。
実際にビジネスでは99.9%がWindowsなんだから
他のOSは無視してよいし。

257:デフォルトの名無しさん
23/09/11 03:32:23.30 ECkhuLcp.net
>>253
お前がこうして書き込んで俺が読んでいるシステムは
Windowsだけで成立しているのかな?
ライブラリがポータブルなのは極めて重要
autotoolsやcmakeはそれらを支えている
視野が狭すぎる

258:デフォルトの名無しさん
23/09/11 03:33:07.09 ECkhuLcp.net
>>253
OSSをことあるごとに批判しているようだが
boostは使わないのかな?

259:デフォルトの名無しさん
23/09/11 07:50:35.19 E5vyJfZg.net
サーバサイドかなりlinux

260:デフォルトの名無しさん
23/09/11 08:10:14.91 6xpAyPC+.net
>>250
リリースサイクルが早いからバグってもすぐ直せばいいから問題ない
だからWebでRubyなどの動的言語が流行ってきたんだよ
それでも規模が大きくなると開発自体が大変になるからTypeScriptやGoなどが流行ってきた

つまりRustとWebは最悪な組み合わせだね
コンパイル速度が遅くメモリ安全のために強要される
Webでは早く開発するのが重要であるから、無駄な努力をしていることになる

Rustが向いているのは低レイヤでバグが許されない用途

261:デフォルトの名無しさん
23/09/11 08:36:35.01 PxJKmT2P.net
あなたのような土方志向言語の使い手には呆れて反論する気も起きません
経験不足どころかプログラマーですらない

262:デフォルトの名無しさん
23/09/11 08:42:22.10 d+PRxn/f.net
>>257
前半の段落読むとRustも選択肢に入るという話かと
思ったら後半で支離滅裂になった

263:デフォルトの名無しさん
23/09/11 08:49:44.02 6xpAyPC+.net
あなたが何を言おうがWebでRustが流行ることはないからいいんじゃないかな
君の脳内だけでは流行っているようだけど

264:デフォルトの名無しさん
23/09/11 08:52:08.60 6xpAyPC+.net
そもそもGC言語であればメモリ安全

メモリが潤沢に存在するWeb環境でなぜわざわざ非GC言語を選択する必要があるの?
マゾとしか言いようがないな

目的と手段が入れ替わった馬鹿

Rustが低レイヤ専用言語という事実をいうと発狂するのは、自分がそれらに携わることが決してないWeb屋だからだろうw
効いちゃった?w

265:デフォルトの名無しさん
23/09/11 09:17:00.45 54D6Lwwp.net
>>257
複オジ以上に無知ですね
TypeScriptやGoが使われるようになった理由くらいの一般常識は最低限勉強してからWeb開発について語ってください

266:デフォルトの名無しさん
23/09/11 09:24:20.93 p7LeL6Qu.net
メモリ安全とはメモリが少なくても大丈夫ではない

267:デフォルトの名無しさん
23/09/11 09:28:56.91 6xpAyPC+.net
自分がWeb屋で低レイヤを一切触ったことがないがこれからはRustだと勝手に妄想を膨らませて無駄に勉強しちゃったけど、Webでは絶対流行らない低レイヤ専用言語だという事実を指摘されて発狂してID変えまくって書き込むアホw
お前は無駄な努力してたんだよw
意味のない努力だよ

268:デフォルトの名無しさん
23/09/11 09:36:01.63 CzWM7Xpm.net
用語の意味すら知らないのはカコワルイ

269:デフォルトの名無しさん
23/09/11 09:42:20.49 PxJKmT2P.net
自分で技術選定したことないから表面的なことしか分からないんだな

270:デフォルトの名無しさん
23/09/11 10:01:23.49 lXcI/Ajd.net
>>238
禿堂

271:デフォルトの名無しさん
23/09/11 10:01:28.48 6xpAyPC+.net
だからお前のいうWeb開発でRustを採用している企業ってあるの?聞いたことがないんだけど
AWSやCloudflareがお前が勤められるような一般的なWeb企業ではないからな

272:デフォルトの名無しさん
23/09/11 10:02:52.41 lXcI/Ajd.net
>Rust支持者は、現状認識が間違っていて、妄想が激しい。
これは一理ある

273:デフォルトの名無しさん
23/09/11 10:06:46.41 lXcI/Ajd.net
>Rustは難しいとか、Cより安全とかいうことを言っている連中は、残念ながら経験不足
Rustの経験不足か、webの経験不足であるのは間違いないが、なによりプログラマーとしての経験が足りてない
これも一理ある

274:デフォルトの名無しさん
23/09/11 10:08:43.00 lXcI/Ajd.net
>>254
5chって今もSJIS使ってるんだっけ
もうUTF8のDATとかHTML返してくれ�


275:驍謔、になった?



276:デフォルトの名無しさん
23/09/11 12:53:14.26 h3RiCxz0.net
とりあえず現状行列ライブラリをRustで実装するのは止めてる。理由はsimd命令周りの対応が微妙すぎるから。
今はC言語で行列ライブラリを実装している。Rustへの移植性を考えたデ


277:ータ構造にはしてある。とりあえず1000×1000の行列積をシングルスレッドで0.034秒で実行できるようになった。手元のIntelMKLと大体同じくらいの速度。まだ、試してない最適化がいくらかあるのでそこら辺を実装したら0.025秒台くらいは目指せそう。行列積の実装で大分スキルがついてきたので固有値問題とか逆行列の計算も実装していきたい。ここら辺のことが一通り終わったらGitHubにソースコードを挙げようと思う。



278:デフォルトの名無しさん
23/09/11 13:33:50.47 e0SgkFmy.net
>>272
そのCライブラリをRustアプリから呼べるようにはしないの?
頑張ってね

279:デフォルトの名無しさん
23/09/11 13:38:06.05 h3RiCxz0.net
>>273
今、どうするか検討中。内部の行列積を計算するとことろなどのsimdやアセンブラを直接叩くところ以外は最終的にRust純正を目指していきたい。

280:デフォルトの名無しさん
23/09/11 14:56:21.77 ph9tsm2Y.net
>>271
自分で調べろ
URLリンク(mevius.5ch.net)

281:デフォルトの名無しさん
23/09/11 16:03:47.99 lXcI/Ajd.net
>>275
URLリンク(paiza.io)
import requests
urls = [
('URLリンク(mevius.5ch.net)', 8),
('URLリンク(mevius.5ch.net)', 54),
('スレリンク(tech板)', 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}")

URLリンク(mevius.5ch.net) : text/html
</html>
URLリンク(mevius.5ch.net) : text/plain
b'\x8e\xa9\x95\xaa\x82\xc5\x92\xb2\x82\xd7\x82\xeb <br> URLリンク(mevius.5ch.net) <>\n'
スレリンク(tech板) : text/html; charset=Shift_JIS
5ちゃんねる<br><br><br><br></footer></body></html>
ほんとうにありがとうございました

282:デフォルトの名無しさん
23/09/11 17:53:54.58 /kk+oPKa.net
メモリ関係に自信があるわりにはFirefoxでamebaTVを見ると
メモリリークが発生して落ちる件、修正されませんよね
かれこれ一ヶ月くらい経過するのに

283:デフォルトの名無しさん
23/09/11 18:31:28.11 Xp4QPw8N.net
それはamebaTVの問題やろ
プロファイリングしろ

284:デフォルトの名無しさん
23/09/11 18:48:13.64 d+PRxn/f.net
JavaScript処理系の問題と区別できないレベルの
人がいるんだ

285:デフォルトの名無しさん
23/09/11 19:00:36.49 ECkhuLcp.net
Rustを庇うつもりはないが総本山のfirefoxでも
RustよりC/C++の方がステップ数は多いんだよ
更に言うとJavaScriptのステップ数はもっと多い
Rustが原因とは限らない

286:デフォルトの名無しさん
23/09/11 19:05:21.90 zwAMgEJb.net
>>226
スレタイ読み返したら?

287:デフォルトの名無しさん
23/09/11 19:12:24.81 zwAMgEJb.net
スレタイはC++とRustなのに、何故かGoとかJavaScript等とRustの話にすり変わってC++が影に隠れてしまう不思議。

288:デフォルトの名無しさん
23/09/11 20:16:38.03 MZ4x1aOt.net
このスレのスレタイは「Rustレスバ会場 ワ無し」だよ

289:デフォルトの名無しさん
23/09/11 20:24:08.02 ECkhuLcp.net
「Rustはこの先生きのこれるか」かと思ってた

290:デフォルトの名無しさん
23/09/12 00:56:45.92 h9tsc2mb.net
C++派だが、別にいいんだ
氏んでもRust使わないってまで言ってないんだ、動向は気になるにきまってるので

291:デフォルトの名無しさん
23/09/12 01:43:18.48 OkyJ0X+a.net
AVX512で行列ライブラリ開発するのは止めたわ。発熱がでかくて使えば使うほど性能が低下して全然安定しない。1000×1000の行列積なんてシングルスレッドで100回平均で0.034秒だったのが10000回平均だと0.039秒まで落ちる。

292:デフォルトの名無しさん
23/09/12 02:19:08.34 k1dOXU9O.net
質問です
URLリンク(play.rust-lang.org)
よろしくおながいしまつ

293:デフォルトの名無しさん
23/09/12 03:25:57.16 t8zMJnwJ.net
スレチだが、AVX512がすべての命令に対応しているわけじゃないし発熱は命令のせいじゃないしSIMDの話で急にスレッドの話が出てくるのも意味不明だし
一行にバグ詰め込みすぎだろw

294:デフォルトの名無しさん
23/09/12 08:42:02.94 ApNREiLC.net
>>287
reqwestのbodyがStringか&'static strを要求するのは
非同期処理が終わるまで送信データが存在することを保証するためだろうから
blockingで処理が終わるまでStringが存在することを外から保証できるなら
&str(&String.as_str())を&'static strにtransmuteすればbodyに使えるはず
本当に安全かは分からん

295:デフォルトの名無しさん
23/09/12 11:18:20.04 VdHLMOad.net
>>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>> {

296:デフォルトの名無しさん
23/09/12 12:38:51.25 OkyJ0X+a.net
>>288
プログラムとしては正常に動作してるんだよ。これは出力結果をテストして確認もしている。ただ、AVX256に比べてCPUの温度変化を監視すると明らかに温度上昇が確認されるんだよね。自分のPCがそろそろ3年目に突入するってのもあるかもしれないけど、明らかにCPUに良くない影響を及ぼしてる兆候は確認できたし。実際AVX256ベースのプログラムにすると10000回1000×1000の行列積を回してもほとんど100回平均の時と平均実行時間に差がなかった。

297:デフォルトの名無しさん
23/09/12 12:44:50.45 OkyJ0X+a.net
IntelのAVX256ベースに絞ればRustの安定版でも行列ライブラリが開発できそうではあるので、AVX512に対応するかいなかは結構重要な分岐なんですよ。まあ、Armのsimd命令拡張セットにはRustは安定版では対応してないし。AMDに関してはx86アーキテクチャだった気がするのでもしかしたらRustの安定版でも行けるかもしれんけど。

298:デフォルトの名無しさん
23/09/12 15:00:04.98 Q9fCm6fi.net
🔥は予想通りだった

299:デフォルトの名無しさん
23/09/12 18:20:02.75 9gzYBW0v.net
>>293
どんな予想?

300:デフォルトの名無しさん
23/09/12 20:54:22.07 XeofXrcc.net
>>294
前スレ969ですか?
>mojoを持ちつつPythonを嗜み

301:デフォルトの名無しさん
23/09/12 21:46:29.14 kYbrMwgz.net
次のようなトレードオフが異なります。

(1) プリプロセッサ(Cプリプロセッサ、Lex / YACなど)は、おそらく最も重い扱いです。それらは完全に一般的ですが、開発者の経験とツールの統合の点で最悪です。

(2) 一部の言語(LispやRustなど)は、マクロ拡張機能をサポートしており(時には「衛生的」)、構文の拡張と定型的な削減を可能にし、ツールの統合をいくらか改善します。

(3) C ++のようないくつかの古い言語には、ランタイム言語のデュアルである非常に大きく複雑なメタプログラミング言語(テンプレート)があります。これらは習得が著しく難しく、コンパイル時間とエラーメッセージが不十分です。

302:デフォルトの名無しさん
23/09/12 21:54:52.19 uAwiXx2o.net
テンプレートメタプログラミング楽しいよ!

303:デフォルトの名無しさん
23/09/12 23:37:42.92 Ez0KcXtp.net
>>296
ChatGPTやん
やっぱ複オジと似てるよな

304:デフォルトの名無しさん
23/09/12 23:38:22.02 Pu8riC7w.net
>>296
どういう質問でこの回答出てきたのかぬ

305:デフォルトの名無しさん
23/09/12 23:59:02.76 q0VrB5Vz.net
複オジ節

・当たり障りのない事
・周知の客観的事実
・一解釈、不確かな一説
・自説、自分の思い込み
・流布したい嘘

が全て断言調なところ

徐々に自説、嘘を織り込んで行く、
絶対儲かりますと畳み込む詐欺師と区別がつかない
最悪そのものかも知れない

なお上記は複オジ節で書かれている、テンプレ推奨

306:デフォルトの名無しさん
23/09/13 00:05:40.15 1hA9kn3L.net
>>296はmojo公式ページ

307:デフォルトの名無しさん
23/09/13 00:54:47.03 PItzFlj9.net
機械翻訳の不自然な日本語と同カテゴリだったのかw

308:デフォルトの名無しさん
23/09/13 01:01:32.82 8tIdE0x0.net
>>301
faqかなんか?原文かURL おねがいしてイイかぬ

309:デフォルトの名無しさん
23/09/13 01:15:01.57 vv+/T9XN.net
>>303
301じゃないけど
URLリンク(docs.modular.com)
>>301が、話のコンテキスト、(4)(5)を意図的に省いたのは?だな
NimはZigと同じ(5)方式っぽい

310:デフォルトの名無しさん
23/09/13 01:16:45.03 vv+/T9XN.net
>>304
省いた犯人は>>296

311:デフォルトの名無しさん
23/09/13 01:19:32.96 vv+/T9XN.net
これも貼っておきます
We’ve raised $100M to fix AI infrastructure for the world's developers
August 24, 2023
Modular Team
URLリンク(www.modular.com)
>led by General Catalyst and filled by existing investors GV (Google Ventures), SV Angel, Greylock, and Factory.
modularは$130m集めた責任ある企業だから嘘大げさはやらないよネ!

312:デフォルトの名無しさん
23/09/13 01:23:34.03 vv+/T9XN.net
最新ですね
URLリンク(docs.modular.com)
>We also benefit from tremendous lessons learned from other languages
>(such as Rust, Swift, Julia, Zig, Nim, etc.)

313:デフォルトの名無しさん
23/09/13 01:55:28.58 do5ALmVA.net
トランスパイラは夢がある Cに変換されるやつは人間も読みやすく現実的

314:デフォルトの名無しさん
23/09/13 04:44:50.56 8tIdE0x0.net
>>304
ありがとぬ

315:デフォルトの名無しさん
23/09/13 10:17:22.08 GmHSIqMf.net
>>298
>>300
mojo公式に対して複オジ呼ばわりワロタ

316:デフォルトの名無しさん
23/09/13 10:40:20.50 mm/SnZpQ.net
"複オジ"は、traitなのですよ

317:デフォルトの名無しさん
23/09/13 12:53:51.86 Ie8e0Rot.net
翻訳のクソ度がよく似てたんだろ
機械翻訳でももう少しまともなのあるだろうに

318:デフォルトの名無しさん
23/09/13 14:32:47.21 IHxW8owo.net
1行目から間違ってるもんな

319:デフォルトの名無しさん
23/09/13 21:42:52.00 HljQ0S6H.net
URLリンク(docs.modular.com)
> 180.14895626059092 GFLOP/s, a 77052.192096131941 x speedup over Python
行列積のGFLOPS数値があるけど
>>272,286の感想は?

320:デフォルトの名無しさん
23/09/14 10:07:25.21 /LryAq71.net
>>314
このベンチマークはシングルコアではないよね?多分4コア8スレッドとかそんな感じ?
手元のOpenBLASはシングルスレッド計測だと大体60GFLOPSだったよ。自分がAVX512でやってるやつもは65GFLOPS。AVX512なんで、もう少しチューニングすればマックスで80とか90GFLOPSまでは期待できるかもしれない。

321:デフォルトの名無しさん
23/09/14 10:08:17.83 /LryAq71.net
>>315
あと、あくまでもシングルスレッドでのGFLOPSであることには留意してね。

322:デフォルトの名無しさん
23/09/14 10:29:06.74 iBoAtJWG.net
>>314は単精度

>>315は倍精度で出している?

323:デフォルトの名無しさん
23/09/14 11:25:47.47 /LryAq71.net
>>317
倍精度。

324:デフォルトの名無しさん
23/09/14 12:22:56.03 JjtV6D+W.net
>>318
やはり
単精度マルチスレッドでやると分かるけど
mojoであってもちょっと書いたくらいでは
凄く遅いという事ね
こちらはnumpy openblasで1020GFLOPS位
mojoは150GFLOPS位だった

325:デフォルトの名無しさん
23/09/14 12:55:47.67 JjtV6D+W.net
単精度シングルスレッドは
numpyで140GFLOPS位、mojoは40GFLOPS位だったかな
(どっちも1000x1000 float32)

もともと遅いしマルチスレッドの伸びも良くない印象だった

>>315のシングルスレッドは単精度に引き直すと
結構頑張っていると思う

326:デフォルトの名無しさん
23/09/14 13:59:54.79 3ROssfnr.net
このスレ的にはZigはどうなんだに?

327:デフォルトの名無しさん
23/09/14 15:09:10.16 Y5/q5uFG.net
Zigもありなんだけどバージョン1.0予定の2025年も遅れるだろうし
便利なC言語という需要がどこまであるのかわからん
正反対な方向のZigとRustだが企業がZigを選ぶのはレアケースだろう

328:デフォルトの名無しさん
23/09/14 18:02:30.25 /LryAq71.net
>>320
AVX512というチートに手を染めててこのGFLOPSは個人的には不満。ただ、自分のノートパソコンのzmmレジスタが16本しかなくて制約がキツすぎて困ってる。512bit長のsimdであればレジスタは最低でも32本は欲しい。16本だとパイプラインハザードの回避がかなりキツイ上ロード命令と置換命令に対して十分に演算命令を積めないのでかなり苦労している。というかAVX512をレジスタ16本はキツイのでAVX256の方で普通にOpenBLASを目指そうかどうかを検討している。

329:デフォルトの名無しさん
23/09/14 18:47:08.14 fFI/ZuLN.net
>>323
zmm レジスタは 32本有るはずだが。

330:デフォルトの名無しさん
23/09/14 22:26:51.45 GWshkXO+.net
激震のためRust製のゲームエンジンAmethystが注目されてるらしい
URLリンク(amethyst.rs)

激震

基本無料のソシャゲ終了のお知らせ。Unity「インストールするならお金払ってね。リセマラも都度料金徴収するから」
スレリンク(poverty板)

全ゲーム業界に暗雲 「UNITY税」が始まる事を受け販売中のゲームを削除するとアナウンスするメーカーが出始める
スレリンク(poverty板)

331:デフォルトの名無しさん
23/09/14 23:17:48.22 4BMiRrnl.net
ふと試したBLISが良い感じ

単精度
OpenBLAS: 1.940ms 1030.853 GFLOP/s
BLIS: 1.983ms 1008.616 GFLOP/s
MKL: 2.654ms 753.593 GFLOP/s

倍精度
OpenBLAS: 4.139ms 483.190 GFLOP/s
BLIS: 3.584ms 557.981 GFLOP/s
MKL: 4.818ms 415.121 GFLOP/s

MKL倍精度は100回毎のサブ平均が350~550で安定していなかった
MKL単精度は安定して遅かった
OpenBLASとBLISが安定して速かった
(1000x1000 10000回平均 マルチスレッド AVX2)

>>323
AVX512はチートと言う程じゃないけど普及度はかなり下がるね

332:デフォルトの名無しさん
23/09/15 01:00:20.84 ufqLCMQd.net
>>325
Amethystはだいぶ前に開発止まったはず

アンチOSSの人はこういう激震が好きなんだろうか

333:デフォルトの名無しさん
23/09/15 03:25:46.95 /EFfpw9T.net
いい機会なので復活したりするのかもね
URLリンク(github.com)

まあ、びっくりしたUnity側が条件変えてくるでしょ
金を生まないインスタンスが想像以上に多いらしい

334:デフォルトの名無しさん
23/09/15 09:51:13.34 qQe5d8DA.net
希望的観測を語るのは勝手にすればいいが
実際に注目を集めているのはGodotとUnrealなのであった

335:デフォルトの名無しさん
23/09/15 13:52:46.64 mLvjl0rN.net
>>324
何か調べると自分のPCは16本っぽい。何か最初期のPCはZMMレジスタが32本あったんだけど、途中から発熱のせいで16本になって今ではサーバー用のやつ以外は基本16本って何かに書いてあった気がする。これは勘違い?

336:デフォルトの名無しさん
23/09/15 18:05:36.94 TsgRoiWh.net
>>330
一応、EVEX prefix では 32 種類の zmm レジスタ
を区別できるようにはなっているが。

337:デフォルトの名無しさん
23/09/15 18:39:42.09 ZacIwhCh.net
この記事ではシリコンダイ上の実体(レジスタファイル)は(1コアあたり)152(144+8)個みたいだよ
URLリンク(chipsandcheese.com)
AVX512FのISA上で名前で呼び分けるのが32個(zmm0~zmm31)で実行のスケジュール段階で
144個のレジスタファイルに上手く割り振りながらアウトオブオーダー実行しているイメージです
>>323,330
>何か調べると
これの方が興味あるので差し支えなければリンクを...

338:デフォルトの名無しさん
23/09/16 10:27:42.31 NyIUl8mq.net
zmmレジスタが16本しかないやつは極一部のやつらしい。確認したら自分のPCは32本あった。
ところで、zmm0レジスタにdouble型がロードされてるときこれの2番目の要素をzmm1レジスタにブロードキャストすんのって最低でどれくらいのレイテンシーがいるか教えて欲しい。IntelのSimd命令マニュアルとにらめっこしながらやってるけど、命令の内容があまり書いてないので結構困ってる。レイテンシーとかは書いてあるけど。

339:デフォルトの名無しさん
23/09/16 21:12:54.47 DZ7YkFqT.net
>>326の計測に使ったblasバインディングがgemmとgemvしか参照していなかったので
行列積素朴実装をgemmの形にしてdllにしたらそのまま計測出来た(gemvは呼び出されていなかった)
f32 NAIVE
ST
3484.623ms 0.616 GFLOP/s
3540.897ms 0.606 GFLOP/s
3567.409ms 0.602 GFLOP/s
MT
178.104ms 12.057 GFLOP/s
178.895ms 12.004 GFLOP/s
177.376ms 12.107 GFLOP/s
f32 tile
ST
31.727ms 67.686 GFLOP/s
32.086ms 66.930 GFLOP/s
32.020ms 67.067 GFLOP/s
MT
4.042ms 531.307 GFLOP/s
3.924ms 547.233 GFLOP/s
4.065ms 528.281 GFLOP/s
f32 BLIS 目標 アーキテクチャ毎にほぼアセンブリで実装されている
ST
14.917ms 143.966 GFLOP/s
14.987ms 143.289 GFLOP/s
15.051ms 142.680 GFLOP/s
MT
2.120ms 1012.808 GFLOP/s
2.145ms 1001.183 GFLOP/s
2.108ms 1018.784 GFLOP/s

340:デフォルトの名無しさん
23/09/16 21:14:12.34 DZ7YkFqT.net
f64 NAIVE
ST
4072.215ms 0.527 GFLOP/s
3965.081ms 0.542 GFLOP/s
4069.991ms 0.528 GFLOP/s
MT
284.921ms 7.537 GFLOP/s
297.872ms 7.209 GFLOP/s
271.956ms 7.896 GFLOP/s
f64 tile
ST
72.745ms 29.521 GFLOP/s
72.666ms 29.553 GFLOP/s
72.857ms 29.475 GFLOP/s
MT
9.442ms 227.445 GFLOP/s
9.547ms 224.928 GFLOP/s
9.739ms 220.504 GFLOP/s
f64 BLIS
ST
30.461ms 70.500 GFLOP/s
30.418ms 70.600 GFLOP/s
30.343ms 70.773 GFLOP/s
MT
3.896ms 551.148 GFLOP/s
3.812ms 563.403 GFLOP/s
3.924ms 547.277 GFLOP/s
1024x1024 10回平均
c=a*bのa,bは使いまわし 変数cはループ外で初期化してあるけど 都度既存メモリ破棄、新規アロケート、ゼロ初期化されていた

341:デフォルトの名無しさん
23/09/16 21:16:22.52 DZ7YkFqT.net
gemm自体はアロケート済みのcを受け取るだけなので
簡潔に書いてもcメモリの使いまわしが出来る仕組みが欲しい
端数処理をしてない手抜きTileなので1024x1024でやった
>>333
楽しめるかどうかですね
こちらはどうなることやら

342:デフォルトの名無しさん
23/09/16 21:22:50.93 DZ7YkFqT.net
64x64 Tile導入時点でコンパイラがAVX2を多用したコードを自動出力した
なんかマルチスレッドの力で押し切るのが手軽
f32はGPUで
f64は個人向けGPUは遅いからCPU多コアかな

343:デフォルトの名無しさん
23/09/16 23:25:02.06 NyIUl8mq.net
野望の段階だけど、Strassenのアルゴリズムとかの行列積高速化のアルゴリズムを効率良く組みたい。再帰的なアルゴリズムは現状のCPUの構造だとかなり難しいんだよね。
今はCだけど、できれば最終的にRustで組みたい。RustのメモリリークやSegmantation fault, メモリの2重解放がないのはスゴい利点だとと思う。今後OSなどの最深部でも行列積の計算が頻繁に呼び出されるようになるだろうからなおのことRustで目標を達成したい。

344:デフォルトの名無しさん
23/09/17 06:43:29.46 +Vc0mLjX.net
カーネルで行列積って使うの?

345:デフォルトの名無しさん
23/09/17 09:01:47.58 2thFGrAB.net
行列とカーネルを同じ文に書かれると違うほうのカーネルにしか読めん

346:デフォルトの名無しさん
23/09/17 10:37:23.77 y6GkRZWJ.net
結論とて現在のRustは糞
来世に期待ってことだよな

347:デフォルトの名無しさん
23/09/17 13:55:14.01 pImX9Ap1.net
どんな紙切れでも金塊以上の価値になれる
その結果Youは乱れ万人に対する加害者になっちゃうわな

348:デフォルトの名無しさん
23/09/17 14:05:21.39 9e7GqZX3.net
>>341
脈絡なく「結論」とか言っちゃう症状って生まれ変わるまで治らないの?
若いうちならトレーニングで治せそうだけど年取ると無理なのかな

349:デフォルトの名無しさん
23/09/17 14:44:07.73 +rM6c2qp.net
>>341
うむ。
zmmレジスタやSIMDの話題もRustに不利な事を
書き込まれたから誤魔化そうとしているのだろうね。

350:デフォルトの名無しさん
23/09/18 03:18:13.11 pCHq1yrZ.net
>>339
AIがOSに組み込まれるようになるので死ぬほど行列積の関数は呼び出されるようになると思う。

351:デフォルトの名無しさん
23/09/18 03:47:49.70 k3AGHqct.net
>>345
別にユーザーランドで良いのでは?

352:デフォルトの名無しさん
23/09/18 06:24:20.96 BSQ07s8i.net
スタートレックの世界のコンピュータを目指すならOSに組み込まれるかもね
でもそれはまだ先の話だろう

353:デフォルトの名無しさん
23/09/18 10:08:36.50 Q0H2wSm7.net
SIMDなんて非常に簡単で素朴なコードがかけるのに
有利不利なんてないだろ

354:デフォルトの名無しさん
23/09/18 10:18:31.61 FokkMn3s.net
そのわりにベンチで差が出る(らしい
スレ的には、いかに上手に・素直にスタブを記述できるかだね

355:デフォルトの名無しさん
23/09/18 12:57:03.60 k3AGHqct.net
>>347
OSにAIが標準装備されるとしても
何でそれをカーネル空間で動かさなきゃならんという話になるのかが分からん

356:デフォルトの名無しさん
23/09/18 15:52:05.81 ohI7hzcV.net
>>347
win11にWindows Copilotを搭載することが決定してるので そう先の話でわネエと思いますケドぬ まぁ ドコまでローカルホストでガリガリやらすかまでわ 分からんケドぬ

357:デフォルトの名無しさん
23/09/18 22:42:01.51 pCHq1yrZ.net
>>348
それはアセンブラを直接たたくってこたかな?それって生のポインタをさわることになるからRustの目指す安全性とは結構離れてるよな。第一、データがレジスタのサイズにあわせてアライメントされてないとバグるけど、Rustではアライメントを揃えるのすらunsafe扱いだから。simdを組み込みにするのは果てしなく大変なのでは?全てunsafeにして生のポインタを引数にとるなら話は別だけど。それではもはやRustを使う意味がないし。

358:デフォルトの名無しさん
23/09/18 23:18:32.41 h2SSCK+Z.net
>>352
理解できてなさすぎ
Rustは標準ライブラリがunsafeまみれなように
いくらでもunsafeを使ってもいいんだよ
そのうえでsafeな部分を作り出せればそこはRustコンパイラによる保証がつく
だからRustだけがアドバンテージを持つ

359:デフォルトの名無しさん
23/09/18 23:25:10.97 TStUf0QM.net
>>353
理解してると思うよ
煽られてるんだよw

360:デフォルトの名無しさん
23/09/19 00:32:50.44 kTo53yXB.net
行列ライブラリはぶっちゃけRUSTの運営が直接本来実装するべきなんだよね。ものすごい数の安全テストが必要だから。Rustの標準ライブラリのRCはそうやって安全性を担保してるからな。ただRustの質を担保するならRCよりも遥かに安全テストが必要になるとは思う。

361:デフォルトの名無しさん
23/09/19 00:45:08.44 CAb8pI9J.net
blasやlapackのラッパー書けば良いのでは?

362:デフォルトの名無しさん
23/09/19 01:10:39.03 kTo53yXB.net
>>356
メモリリークどうすんの?

363:デフォルトの名無しさん
23/09/19 01:28:44.07 q6UjSMFh.net
もうRustの失敗を踏まえた新しい言語の登場を待とうぜ

364:デフォルトの名無しさん
23/09/19 01:34:55.82 CAb8pI9J.net
>>357
blasやlapackの中は干からびるくらいに枯れてるやろ

365:デフォルトの名無しさん
23/09/19 01:37:08.15 1nihRNEN.net
Rustの目指す安全性ってのと真逆の意味をもつunsafe宣言は
「ここは確率的にunsafeだけど確率を覆すのが人間の仕事」と言ってる
だから確率とか好きそうな人には難しい

366:デフォルトの名無しさん
23/09/19 09:24:27.18 kTo53yXB.net
>>360
unsafeのところは人間が死ぬ気でテストして安全性を担保してねって意味合いが強いけどな。だからRCとかARCはとてつもなく厳重なテストを


367:行ったらしい。



368:デフォルトの名無しさん
23/09/19 10:08:39.97 kTo53yXB.net
>>359
誰もOSの最深部で使いまわしたけーすなんてないからどんなエラーがでるかは未知の領域だろ。

369:デフォルトの名無しさん
23/09/19 10:58:17.73 CAb8pI9J.net
誰がOSの最深部で使いまわすの?

370:デフォルトの名無しさん
23/09/19 13:57:30.99 1nihRNEN.net
>>361
テストの戦力を集中できるから合理的なわけだが
当たりくじだけを買う集中ではなく逆にはずれそうな箇所に手間をかける

371:デフォルトの名無しさん
23/09/19 15:02:10.87 CAb8pI9J.net
>>361
RCもARCも複雑じゃないだろーにw

372:デフォルトの名無しさん
23/09/19 15:25:44.62 mxtPnJ5/.net
Rustではそういう小さなパーツのみ人間が安全性を保証するunsafeを用い
プログラム全体はコンパイラが静的に安全性を保証する形となって開発効率が良い

373:デフォルトの名無しさん
23/09/19 18:13:09.65 q6UjSMFh.net
人間が安全性を保証するunsafe

374:デフォルトの名無しさん
23/09/19 18:33:40.87 OxK/I+KA.net
人間と契約しないと自然状態になるでしょ

375:デフォルトの名無しさん
23/09/19 18:36:21.76 mxtPnJ5/.net
C/C++はプログラム全体がunsafeだから
プログラム全体に対して人間が安全性を保証しなければならず開発効率がよくない

376:デフォルトの名無しさん
23/09/19 19:36:09.66 q6UjSMFh.net
じゃあC/C++にunsafe解決?

377:デフォルトの名無しさん
23/09/19 19:36:50.34 q6UjSMFh.net
訂正
unsafe導入で解決?

378:デフォルトの名無しさん
23/09/19 19:45:37.59 CAb8pI9J.net
コードチェッカとしてAIが搭載されるので
現実的な必要性がなくなると思うよ

379:デフォルトの名無しさん
23/09/19 19:59:47.06 q6UjSMFh.net
だよなあ

380:デフォルトの名無しさん
23/09/19 20:47:18.93 B2l8DHRh.net
>>372
今のレベルで信用できる?

381:デフォルトの名無しさん
23/09/19 22:16:43.11 CAb8pI9J.net
>>374
ご指摘の通り今のレベルではコードチェッカとしては信用できない

382:デフォルトの名無しさん
23/09/19 22:18:12.20 CAb8pI9J.net
この1年の進捗を見ると最早時間の問題

383:デフォルトの名無しさん
23/09/20 00:20:23.25 0L/WUwAl.net
AIチェッカはヒントにはなっても証明にはならんやろ

384:デフォルトの名無しさん
23/09/20 03:36:44.11 u/n2gKYp.net
unsafe{ } を型の内で定義できるのがC++っぽいかなって最近思ってる

385:デフォルトの名無しさん
23/09/20 06:28:48.05 DoKZY5B2.net
>>365
Rustの仕組みで生ポやアドレスに触るような関数やライブラリの安全性の担保は死ぬ程だるいということですよ。実際sind系のクレートが全然安定版にならないのはそれが原因だからね。RCやARCとは桁が違うレベルの安全テストを行わないといけないようだからね。

386:デフォルトの名無しさん
23/09/20 06:39:41.43 DoKZY5B2.net
>>363
使い回されるだろう。stable diffusionとかlammaとかがヌルヌル動くようなPCスペックが標準になってきたらEXCELやパワポとか、DirectXに組み込まれるだろうな。

387:デフォルトの名無しさん
23/09/20 08:44:11.37 XQHGtFcj.net
>>380
カーネルモードという言葉を知ってる?
他の人はそういう話してるけど

388:デフォルトの名無しさん
23/09/20 10:05:41.68 7sNeNGpd.net
コードは公開するが教師データは墓まで持っていく手口はOSSに対抗する側の発想なので
GNU/Linuxと合体する確率は低い

389:デフォルトの名無しさん
23/09/20 10:54:44.14 MYGzx56E.net
>>380
OSの最深部って話をしてるのになんでアプリケーションの話をしてるの?
低レイヤとか高レイヤとかわからない人?

390:デフォルトの名無しさん
23/09/20 11:18:09.13 7sNeNGpd.net
三位一体みたいな
多神教を回避するしぐさ

391:デフォルトの名無しさん
23/09/20 12:12:30.85 BrTk6Dwe.net
>>376
具体的にいつですか?
具体的とかそんなの無い感じですか?

392:デフォルトの名無しさん
23/09/20 12:17:54.86 kr8MFeoz.net
>>382
OSS最大手のRedhatはそんな感じ

393:デフォルトの名無しさん
23/09/20 12:20:50.67 kr8MFeoz.net
Rust製のFirefoxがCPU100%張り付きとかメモリ60GBとか普通にやってくれるやつなので
Rustも宣伝通りの安全性だとは思っていない

394:デフォルトの名無しさん
23/09/20 12:40:47.18 XQHGtFcj.net
>>387
FirefoxにはC++のコードの方が多いし
ピュアRustでもcpu100%やメモリ浪費アプリの
解消なんて謳ってないので意味不明

395:デフォルトの名無しさん
23/09/20 14:07:36.47 56axJTdd.net
>>387
Rustでも安全にセキュリティーホールやウィルスを書けるよ

396:デフォルトの名無しさん
23/09/20 14:27:23.23 7sNeNGpd.net
宣伝通りではない問題は普遍的な問題
沈黙は金
雄弁は宣伝通りではない

397:デフォルトの名無しさん
23/09/20 15:11:01.56 kr8MFeoz.net
RustもFirefoxもMozillaの製品だし
どっちも眉唾程度に使ってる

398:デフォルトの名無しさん
23/09/20 15:12:44.77 kr8MFeoz.net
Mozillaのサイトには豊かな生活とか健全なインターネッツとか
アベノミクスの宣伝とだいたい同じことが書いてある

399:デフォルトの名無しさん
23/09/20 15:28:18.60 GXpV/38T.net
Rustなら安全なマルウェアを書けます

400:デフォルトの名無しさん
23/09/20 15:28:22.64 GXpV/38T.net
Rustなら安全なマルウェアを書けます

401:デフォルトの名無しさん
23/09/20 17:29:29.37 kQmO4Bub.net
〇🧥

402:デフォルトの名無しさん
23/09/20 18:11:16.04 7sNeNGpd.net
>>392
内容を反省しても無駄
完璧な内容に改善しても雄弁は最善手になれない

403:デフォルトの名無しさん
23/09/20 18:17:10.71 URQnmAvS.net
>>391
それは昔の話
3年前にMicrosoft・Google・Amazonなど共同によるRust Foundationが設立されてRustはその資金で開発されている

404:デフォルトの名無しさん
23/09/20 20:08:00.83 EN6uvlZM.net
>>397
と書くとその資金でサラリーを得る開発者を雇用しているようにも聞こえるが
Rust自体の開発をしている人って専業はほとんどいないのでは?

405:デフォルトの名無しさん
23/09/20 20:11:54.99 EN6uvlZM.net
念の為だがOSSを批判してるんじゃないよ
>>397の認識が違うんじゃないかなってことを言いたくて
資金入れようが入れまいが開発には大して影響ない体制ではないのかな?

406:デフォルトの名無しさん
23/09/20 20:46:43.30 cBWJlZK2.net
各々の企業の内部にRustの開発をする人材がいる

407:デフォルトの名無しさん
23/09/20 20:48:43.02 URQnmAvS.net
>>398
専業と兼業がいる
Rust Foundationの昨年の年間レポートによるとfull-timeは7名

408:デフォルトの名無しさん
23/09/20 20:50:07.85 URQnmAvS.net
>>398
専業と兼業がいる
Rust Foundationの昨年の年間レポートによるとfull-timeは7名

409:デフォルトの名無しさん
23/09/20 21:32:06.75 cBWJlZK2.net
各々の企業の内部にRustの開発をする人材がいる

410:デフォルトの名無しさん
23/09/20 21:33:02.53 EN6uvlZM.net
Microsoft・Google・Amazonが資金を入れなかったら
その7名は雇用できないんだろうけど
7名なら兼業で賄えるだろうから大して影響ない体制とも言える

411:デフォルトの名無しさん
23/09/21 19:05:02.88 b6LwIpvL.net
transpose関数でデータを並べかえるのって割りと時間が掛かるんだよな。simd化しても並べ替えの部分でかなり時間が取られるからあまり高速にならないし。マルチスレッド化すれば確実に一定の高速化はできるが。

412:デフォルトの名無しさん
23/09/22 21:52:03.87 liKpO3RA.net
Rustはもうオワコンだろ

413:デフォルトの名無しさん
23/09/22 22:12:19.06 liKpO3RA.net
Haskellも終わったし
Rustも終わるだろ

414:デフォルトの名無しさん
23/09/22 22:16:08.30 Citjv5wM.net
どっちも元々始まらなかっただろ。かつては一世を風靡したが今は終わコンになったPerlやPHPとは違い、
不発のまま忘れ去られる。

415:デフォルトの名無しさん
23/09/22 22:29:43.48 1MTUVsES.net
>>408
>かつては一世を風靡したが今は終わコンになったPerlやPHPとは違い、
あれ?!終わったの?
今は何に取って代わられた?

416:デフォルトの名無しさん
23/09/22 22:43:34.63 TmjYA1px.net
これ

Rustの非同期ライブラリをPHPから利用可能にする「php-tokio」が登場

417:デフォルトの名無しさん
23/09/22 23:01:35.76 fCKJ4NGF.net
遺憾なことにphpはwordpressやらLaravelやらで今も使われてる
phpは脆弱性の宝庫

418:デフォルトの名無しさん
23/09/23 00:26:11.41 x


419:XdfbnB0.net



420:デフォルトの名無しさん
23/09/23 02:07:34.62 Rs7x83k3.net
Cで開発してるとわかるけど、Cの大規模なプロジェクトは確実にメモリリークだらけになってるな。関数が内部で勝手にメモリを、確保してreturnしてるやつとか他人の作った関数だったらメモリの解放忘れること多いんじゃね?この手の部分はRUSTは神って思うことすらある。
ただ、RustはCに比べて一部の最適化オプションの性能がかなり落ちるな。多分、配列とかの境界チェックをアセンブリレベルで行ってるんだろうな。

421:デフォルトの名無しさん
23/09/23 02:17:44.92 xXdfbnB0.net
配列はインデックスでアクセスすると他の多くの言語と同様にインデックス範囲内チェックをアクセス毎にする
しかしC言語でのポインタアクセスと同様にRustでもポインタ(参照)でシーケンシャルアクセスすればポインタ終了条件の比較のみとなりC言語と同じ速さになる

422:デフォルトの名無しさん
23/09/23 02:30:07.34 y8HKVxaR.net
>>411
PHP5系の配列の扱いはトラウマものだったわ。

423:デフォルトの名無しさん
23/09/23 06:56:20.93 BqGHL3ND.net
Rustを踏み台にして、もっとスタックフレーム指向の言語が出てきて欲しいわな。
スタックis god, 再帰構造is god.

424:デフォルトの名無しさん
23/09/23 09:29:05.32 v8CrTG6J.net
>>412
罰ゲームじゃん

425:デフォルトの名無しさん
23/09/23 10:46:34.75 ChB9aNsl.net
rust自体に非はない。
「全部rustになる」みたいなことを真面目な顔して言ってた人がいた、ただそれだけの話。

426:デフォルトの名無しさん
23/09/23 11:35:16.36 Rs7x83k3.net
>>416
再帰的なプログラムってCPUの構造的に効率化は厳しいのでは?

427:デフォルトの名無しさん
23/09/23 11:42:04.22 y8HKVxaR.net
>>417
組込み系はZigあたりがバランス良さそうだが、issueのオープンがクローズの2倍で増えてるみたいだからまだまだまだだわ。

428:デフォルトの名無しさん
23/09/23 11:52:17.95 Pudal5bC.net
>>418
たとえば弱者の人権自体を否定するメリットは少ない

弱者のふりをする者の権利を嫌いということにして
もし自分が追い詰められれば本当の弱者なので人権は嫌いではない
これはメリットが大きい

429:安倍
23/09/23 13:42:04.39 gp4eUDaS.net
元web屋で、最近マイコン開発始めて、作ったハードウェア売ろうかなと思ってたんだが、c++とRUSTどっち勉強するのおすすめ?
やっぱ資産がある分まだc++?
Rustはまだ浸透してない感がある

430:デフォルトの名無しさん
23/09/23 13:52:19.19 OkZoNJ+t.net
>>422
トヨタとかはRustで開発してるって聞くが。
専門家ではないがC++よりもCの方が良いのでは?Linuxは確かC++拒否ってるって聞くし。

431:デフォルトの名無しさん
23/09/23 14:18:31.42 GXNw9iN/.net
トヨタは実用化していない
テスト段階

432:デフォルトの名無しさん
23/09/23 18:32:44.11 Pudal5bC.net
実用と道楽の対立が何の役に立つのかといえば
財政が破綻している者はunsafeだと言う人もいる、ただそれだけ

433:名無しさん
23/09/23 18:50:15.02 v8CrTG6J.net
>>420
zigは期待しちゃうよなあ

434:デフォルトの名無しさん
23/09/23 19:29:03.98 VjSgTnXF.net
>>405
スレチだが、転置行列を作る程度であれば、
x86 の SIMD だと、vector index の VSIB
を使えば効率よく出来るはず。

435:デフォルトの名無しさん
23/09/23 19:31:40.24 VjSgTnXF.net
>>422
組み込みは、メモリー管理を自分で簡単に
理解して簡単に間違いなく出来るくらいの
実力があることが前提なのでCかC++で十分。
Rustは基本的にミスが多くて簡単にはそれが
出来ない人向け。

436:デフォルトの名無しさん
23/09/23 19:54:57.98 TImSDd3u.net
>>428
じゃあJavaでいいじゃん

437:デフォルトの名無しさん
23/09/23 19:57:51.17 VjSgTnXF.net
>>429
遅い。

438:デフォルトの名無しさん
23/09/23 20:07:34.86 jRqUT3tQ.net
組み込み屋ならアセンブラくらいできるやろ
Rust使いたくならんかもな

439:デフォルトの名無しさん
23/09/23 20:27:17.12 DY/MMEIG.net
Cの方が早いかもしれないが、実用上その差なんて気にならないし問題になったことはない
ベンチマークの数値みてニヤニヤしてる人たちだけが遅いと言ってる
無視してOK

440:デフォルトの名無しさん
23/09/23 20:52:33.43 VjSgTnXF.net
I/Oポートの制御などや指定されたアドレスのメモリ
への書き込みは、JavaよりCの方が分かり易いから
Javaを使うほうがメンドクサイ。

441:デフォルトの名無しさん
23/09/23 20:52:36.38 VjSgTnXF.net
I/Oポートの制御などや指定されたアドレスのメモリ
への書き込みは、JavaよりCの方が分かり易いから
Javaを使うほうがメンドクサイ。

442:デフォルトの名無しさん
23/09/23 20:54:23.03 Rs7x83k3.net
>>427
手元にはx86_64系のCPUしかない。

443:デフォルトの名無しさん
23/09/23 20:54:28.59 Rs7x83k3.net
>>427
手元にはx86_64系のCPUしかない。

444:デフォルトの名無しさん
23/09/23 20:54:34.08 Rs7x83k3.net
>>427
手元にはx86_64系のCPUしかない。

445:デフォルトの名無しさん
23/09/23 21:53:37.42 XoR/Q384.net
まともなOSがない環境ってコンパイラよりインタプリタが実用的なのでは?
OSがなければコンパイラもないでしょ
ブラウザにたとえるととjsのインタプリタは確実にある
wasmのコンパイラは一体どこにあるのか微妙な感じ

446:デフォルトの名無しさん
23/09/23 23:07:51.11 GXNw9iN/.net
How many files(0-15)?
NEC N-88 BASIC Version 2.1
Copyright (C) 1981 by Microsoft
56543 Bytes free
Ok

447:デフォルトの名無しさん
23/09/23 23:34:49.38 y8HKVxaR.net
>>438
GCCは別にフリースタンディング環境だってサポートしてるぞ。
それともお前の言うインタプリタはGCCより広範囲に組込み環境サポートしてんの?

448:デフォルトの名無しさん
23/09/24 00:54:28.68 orHWRxYE.net
ある言語がオワコンかどうかいつも言い争ってるのは
gccがサポートしなくなりサポートの範囲が狭くなる場合があるのが大前提じゃないの

449:デフォルトの名無しさん
23/09/24 06:40:39.47 +vPT53Kw.net
>>419
CPUでの効率化が難しいというのはCPU処理との類似性が高いということでもあって、表記がそのまま処理になるということでもある。なので、効率化できないのなら効率化できるように表記を拡張すればいい。
再帰プログラムの効率で良く問題になるのは末尾再帰だけど、これも関数内でしか関数を呼び出すことのできない関数表記の限界であって、表記を拡張すれば解決できる。例えば関数を抜けてから関数を呼び出すように拡張したreturnを用意するとか。

450:デフォルトの名無しさん
23/09/24 16:55:38.83 zcFEBpuP.net
>>442
キャッシュの仕組み的に再帰的なアルゴリズムだと次に使うメモリのプリフェッチがムズくね?それが簡単だらすべての行列積のアルゴリズムがStrassenとかもっと効率の良いアルゴリズムで書かれてるはずだと思うんだけど。
再帰的なアルゴリズムでキャッシュ効率を上げるのはかなり難しいというのが自分の認識だけど。

451:デフォルトの名無しさん
23/09/25 00:44:21.45 s334eTLZ.net
その人はまともなことを組み合わせて間違ったことを言う人だから無視していいよ
多分認知症なんだと思うよ
再帰の最適化の話分かってない

452:デフォルトの名無しさん
23/09/25 09:21:53.54 y+0IyOvz.net
まあ組み込みや数値計算ガリガリやってるところからしたら、
そのライブラリを使う上の方のレイヤーでは役に立つんかもね?くらいのものだろ。

453:デフォルトの名無しさん
23/09/25 09:47:48.97 jZAmQlvo.net
>>445
行列ライブラリなんてアセンブリだらけだし、そういうことなら分からなくもないが。でも、だとしたら行列ライブラリを開発してる側からすると安易に「効率化」って言葉を使ってほしくはないな。

454:デフォルトの名無しさん
23/09/25 23:11:26.74 Vv/hi/o0.net
Rustは、SNS見てると、一部の有名インフルエンサー的な
人が普及させようと頑張っていて、彼を信じる沢山の
フォロワーが信じてるのでイイネを押しているみたいだ。
しかし、自分の意見を持っているかどうかは不明。

455:デフォルトの名無しさん
23/09/26 00:32:07.98 cfnZRd3f.net
自分の意見なんて
うどんを食べるかラーメンを食べるか選ぶ程度の単純作業でしかない
けど、どっちが選ばれるか全然予測できなくて
人間はもっと機械のように予測可能であるべきだとか思ってるマッドサイエンティストもいる

456:デフォルトの名無しさん
23/09/26 00:44:59.50 FZU+71fp.net
そもそも論としてコンピュータサイエンス系の発言ばかりを
しているアカウントのフォロワーは独特の価値観を持つ人だ。
それはコンピュータ雑誌を買う層ともまた違う。
なぜなら雑誌ほど勉強に成るような発言をしているわけではないからだ。
独特のおっかけみたいなことなんだろうか。

457:デフォルトの名無しさん
23/09/26 00:49:24.91 FZU+71fp.net
プログラミングがもともと得意な人はそんな人をフォローするとは
考えにくくて、プログラミングにあこがれているが力及ばず
のような人がフォローしてるのではなかろうか。

458:デフォルトの名無しさん
23/09/26 00:54:42.76 kZquhzHO.net
どんなひとのこと書いてるのかしらんが
art(技術)とscienceは区別されるからね

459:デフォルトの名無しさん
23/09/26 01:00:50.16 FZU+71fp.net
コンピュータサイエンスの科学者にあこがれる人の気が知れない。
そこまで凄いことして無いと思うし。

460:デフォルトの名無しさん
23/09/26 01:10:17.06 h6rxe/Hl.net
RustよりJava

461:デフォルトの名無しさん
23/09/26 01:38:44.36 oDUpToxM.net
javaは長文の文法が多い
コーディング量が増えて苦痛

462:デフォルトの名無しさん
23/09/26 01:57:32.41 89rol8WE.net
>>452
連中わまるでIT業者の太鼓持ちみてえだよぬ

463:デフォルトの名無しさん
23/09/26 03:26:32.63 AVUk/FtK.net
PHPで開発していたWEBサービスをRustに乗り換えてみた
URLリンク(zenn.dev)
PHPと比べメモリ消費量が低く、OOM Killerが発生しがちでメモリ設定を上げていた部分の処理だと、3分の1程度に抑えられてバッチの実行時間は1時間程度かかっていたものが数分で終わるまで改善できています。
自社開発で長期的なプロダクトに関しては、もうRust一択で採用予定

464:デフォルトの名無しさん
23/09/26 05:22:01.88 LZy+Z47Q.net
>>447
日本でRustを必死に普及させようとしてる勢力って何者なんだろうな

465:デフォルトの名無しさん
23/09/26 06:14:25.34 8en0k1SE.net
知らんのか?
宇宙人とアメリカ政府との密約によって
進められてる

466:デフォルトの名無しさん
23/09/26 06:30:50.12 89rol8WE.net
コンパイル時間短縮にツヨツヨPCが必要らすいので プロセッサベンダからの案件でガンバってるヒト居てるのかぬとわ思いましたケドぬ

467:デフォルトの名無しさん
23/09/26 07:17:10.78 LjeIbJUy.net
むしろ普及しないと信じたい奴らは何者なんだと思う
エンジニア風おじいちゃん炒めかな

468:デフォルトの名無しさん
23/09/26 07:51:49.36 LZy+Z47Q.net
>>460
いつ頃普及しそう?

469:デフォルトの名無しさん
23/09/26 08:03:44.92 L9Gr2Loi.net
rustってC++のstd_ptrだっけ、所有権つきのスマートポインタ
あれを言語に組み込んだって感じか

470:デフォルトの名無しさん
23/09/26 08:08:25.


471:98 ID:cfnZRd3f.net



472:安倍晋三
23/09/26 08:15:38.94 u0n1vKLm.net
>>456
WebでRust使いたがるバカってなんでこういうレベル低いのにいきってる奴が多いんだろうね

そもそもメモリなんて潤沢にあるんだから全て使えばいいだけだし、バッチでOOMになるとかは明らかに作り方が問題なんだろ
適切にストリーム処理してるの?

473:安倍晋三
23/09/26 08:18:01.01 u0n1vKLm.net
> バッチの実行時間は1時間程度かかっていたものが数分で終わるまで改善できています

???
それは能力不足でクソコード書いてたのが問題でRustのおかげで改善されたわけではないだろ

474:デフォルトの名無しさん
23/09/26 09:01:41.97 ycG3j/g+.net
Rust叩いてるやつは>>464のように常識を知らないやつが多いな
メモリ使用量が1/3になったと書かれてるのだから仮にクラウドを使うならば料金が1/3になるってことだ
実行時間も1/10くらいになっているようだからメモリと合わせて料金が1/30になる
スクリプト言語からRust化はその例のようにリソースコストを大きく下げる絶大な効果を伴うことが多い
メモリ使用1/3と実行時間1/10なら普通にありうるケースだ

475:デフォルトの名無しさん
23/09/26 09:03:52.17 hbO8CMXy.net
まあ、様子見てる感じだとweb屋が一番Rustを積極的に取り込んでる気がする。組み込み系はまだそんなでもないな。RustはAWSのLambdaとか有名だけどweb系と相性が良いのかもな。

476:デフォルトの名無しさん
23/09/26 09:33:17.03 j6H9UThW.net
>>465
Webサーバーのバッチ処理だとしたら基本DBアクセスの処理が良くなさそうだよな

477:安倍晋三
23/09/26 09:37:51.97 u0n1vKLm.net
>>466
メモリ以前にCPUの方が普通ボトルネックになるからメモリ使用量が1/3になったら費用も1/3になるってのは嘘だな
クラウド触ったことないでしょ君

478:デフォルトの名無しさん
23/09/26 09:57:28.51 ycG3j/g+.net
>>469
IaaSの一部にそういうケースがありうるだけだぞ
PaaS (FaaS)は基本的にメモリ使用量✕実行時間で料金が決まる
メモリ使用量は少なければ少ないほどコストに優れている

479:デフォルトの名無しさん
23/09/26 09:58:05.06 q653RLNX.net
>>467
大半は、ほとんどC/C++経験が無い人が多いように見える。
それで言語を変えることで気楽に速度だけ速くしたいと思っているようだ。
しかし、ちゃんと学んでないから実際は気楽ではないことに気付いてない。

480:デフォルトの名無しさん
23/09/26 10:00:47.96 q653RLNX.net
Web屋は、Ruby/JS/PHPなどのスクリプト言語とJavaを中心
にやってきて、ほとんどC/C++経験が無いが、C++を学ぼうと
して余りの仕様の膨大さと複雑さに辟易。噂でRustはそれが
改善されたと聞いてそれを真に受けている段階。

481:デフォルトの名無しさん
23/09/26 10:08:50.87 j6H9UThW.net
今の時代Webも組込みもアプリもゲームもやってる人なんてザラだろ
Webを下に見てるってのはそもそも技術が停滞してる

482:デフォルトの名無しさん
23/09/26 10:10:31.87 dMFymE+A.net
>>470
そのPaaS (FaaS)側に属する料金体系のやつってAWSで言うところのLambdaしか知らんのだけど他になんかある?

483:デフォルトの名無しさん
23/09/26 10:25:47.42 q653RLNX.net
>>473
下に見ているのではなく、色んな事知らないのに勝手に
集団幻覚を見ている感じだから。

484:デフォルトの名無しさん
23/09/26 10:32:56.53 j6H9UThW.net
>>475
だからそれはWeb屋だからってわけじゃなく単にそいつが意識高い系だったってだけ

485:デフォルトの名無しさん
23/09/26 10:45:57.24 cfnZRd3f.net
逆に幻覚を見てないとされる状態の人々の行動も、科学で解明できない

486:デフォルトの名無しさん
23/09/26 11:14:35.61 VAUCzWyL.net
>>469
複オジは実務経験ないから許してあげて

487:デフォルトの名無しさん
23/09/26 11:28:13.


488:59 ID:N6+hjp6l.net



489:デフォルトの名無しさん
23/09/26 11:29:19.37 cfnZRd3f.net
キャンセルカルチャーを許さない系は実務経験のない消費者に厳しく
実務経験のある業者を甘やかしてる

490:デフォルトの名無しさん
23/09/26 11:32:37.51 shYvxvlc.net
>>456
Rustの速度を誇るための比較対象っていつも遅いRubyやPHPなどのインタプリタが選ばれてるね
それに対して速くなったとか鼻息荒く言われても…
JavaやC#に対して速度を誇るならともかくさ

491:デフォルトの名無しさん
23/09/26 12:17:08.00 mQjgjLkE.net
>>473
ウェブが下なんじゃなくて
ウェブ屋が下
発注したらすぐわかること

492:デフォルトの名無しさん
23/09/26 12:22:08.50 CiPfdDET.net
>>460
Haskellと同じ道を歩んでるように見える

493:デフォルトの名無しさん
23/09/26 12:23:32.45 OuK3GH2d.net
PHPはJIT+Opcacheで相当早くなるぞ

494:デフォルトの名無しさん
23/09/26 12:35:06.93 dMFymE+A.net
個人的にはHaskellやScalaのような抽象性と完成度でネイティブコンパイル前提の言語が生まれてくれればそれで万々歳なんだがなあ
変に流行って幻滅期入ってそのままの勢いで開発終わっちゃうみたいな展開にだけはならないでほしい

495:デフォルトの名無しさん
23/09/26 13:42:53.56 cfnZRd3f.net
>>481
ボトルネックってそういうこと
最も弱いところを変更するのが最も効率的で
元々強そうなところを変更してもほぼ無意味

496:デフォルトの名無しさん
23/09/26 15:24:23.13 gWIlfLjO.net
けんしろう「お前はもう、Rustedしている」

497:デフォルトの名無しさん
23/09/26 16:01:38.96 N6+hjp6l.net
Cの代替言語としてこんなんもあるでよ。
オーディンとか名前がかっこええで。
URLリンク(odin-lang.org)

498:デフォルトの名無しさん
23/09/26 18:25:57.43 jbwpiF7D.net
>>334 単精度アップデート(倍精度は手つかず)
今度はMKLをちゃんと動かせた
ST f32 1024x1024
my-version BLIS OpenBLAS MKL
17.344ms 123.816 GFLOPS 15.241ms 140.902 GFLOPS 15.166ms 141.598 GFLOPS 14.629ms 146.792 GFLOPS
17.338ms 123.860 GFLOPS 15.217ms 141.119 GFLOPS 15.167ms 141.592 GFLOPS 14.681ms 146.281 GFLOPS
17.805ms 120.610 GFLOPS 15.237ms 140.939 GFLOPS 15.258ms 140.741 GFLOPS 14.843ms 144.678 GFLOPS
17.808ms 120.590 GFLOPS 15.272ms 140.611 GFLOPS 15.186ms 141.410 GFLOPS 14.667ms 146.417 GFLOPS
17.478ms 122.871 GFLOPS 15.310ms 140.264 GFLOPS 15.195ms 141.328 GFLOPS 14.674ms 146.346 GFLOPS
MT 8 f32 1024x1024
2.401ms 894.478 GFLOPS 2.580ms 832.272 GFLOPS 2.514ms 854.201 GFLOPS 2.104ms 1020.428 GFLOPS
2.379ms 902.518 GFLOPS 2.483ms 864.862 GFLOPS 2.702ms 794.853 GFLOPS 2.159ms 994.802 GFLOPS
2.430ms 883.801 GFLOPS 2.539ms 845.796 GFLOPS 2.716ms 790.540 GFLOPS 2.187ms 982.003 GFLOPS
2.407ms 892.147 GFLOPS 2.438ms 880.740 GFLOPS 2.714ms 791.168 GFLOPS 2.160ms 994.223 GFLOPS
2.457ms 874.045 GFLOPS 2.558ms 839.510 GFLOPS 2.524ms 850.976 GFLOPS 2.178ms 985.895 GFLOPS
MT all f32 1024x1024
1.840ms 1167.088 GFLOPS 2.107ms 1019.108 GFLOPS 2.207ms 973.061 GFLOPS 1.647ms 1304.053 GFLOPS
1.926ms 1114.813 GFLOPS 2.133ms 1006.937 GFLOPS 2.145ms 1001.273 GFLOPS 1.603ms 1339.395 GFLOPS
1.793ms 1197.473 GFLOPS 2.092ms 1026.416 GFLOPS 2.250ms 954.622 GFLOPS 1.631ms 1316.506 GFLOPS
1.800ms 1192.852 GFLOPS 2.130ms 1008.175 GFLOPS 2.160ms 994.287 GFLOPS 1.557ms 1379.502 GFLOPS
1.920ms 1118.594 GFLOPS 2.111ms 1017.3


499:76 GFLOPS 2.239ms 959.290 GFLOPS 1.566ms 1371.030 GFLOPS



500:デフォルトの名無しさん
23/09/26 18:27:05.56 jbwpiF7D.net
ST f32 2048x2048
my-version BLIS OpenBLAS MKL
143.172ms 119.995 GFLOPS 124.520ms 137.969 GFLOPS 122.140ms 140.658 GFLOPS 119.337ms 143.961 GFLOPS
144.436ms 118.945 GFLOPS 120.322ms 142.783 GFLOPS 120.386ms 142.706 GFLOPS 119.637ms 143.600 GFLOPS
142.295ms 120.735 GFLOPS 122.022ms 140.793 GFLOPS 120.581ms 142.475 GFLOPS 121.497ms 141.402 GFLOPS
142.093ms 120.906 GFLOPS 120.663ms 142.379 GFLOPS 121.417ms 141.495 GFLOPS 119.854ms 143.340 GFLOPS
143.167ms 119.999 GFLOPS 121.259ms 141.679 GFLOPS 120.834ms 142.177 GFLOPS 120.555ms 142.506 GFLOPS
MT 8 f32 2048x2048
19.379ms 886.539 GFLOPS 17.746ms 968.111 GFLOPS 17.882ms 960.746 GFLOPS 16.607ms 1034.490 GFLOPS
19.807ms 867.366 GFLOPS 17.821ms 964.021 GFLOPS 18.352ms 936.151 GFLOPS 16.314ms 1053.091 GFLOPS
19.229ms 893.456 GFLOPS 17.420ms 986.209 GFLOPS 17.945ms 957.382 GFLOPS 16.612ms 1034.212 GFLOPS
19.296ms 890.326 GFLOPS 17.633ms 974.310 GFLOPS 18.528ms 927.239 GFLOPS 16.911ms 1015.907 GFLOPS
19.207ms 894.455 GFLOPS 17.719ms 969.594 GFLOPS 18.413ms 933.043 GFLOPS 16.579ms 1036.243 GFLOPS
MT all f32 2048x2048
13.975ms 1229.316 GFLOPS 13.372ms 1284.765 GFLOPS 14.273ms 1203.695 GFLOPS 11.874ms 1446.832 GFLOPS
13.771ms 1247.523 GFLOPS 13.483ms 1274.182 GFLOPS 14.315ms 1200.149 GFLOPS 12.079ms 1422.249 GFLOPS
13.655ms 1258.142 GFLOPS 13.475ms 1274.910 GFLOPS 14.323ms 1199.435 GFLOPS 11.779ms 1458.571 GFLOPS
13.782ms 1246.555 GFLOPS 13.492ms 1273.329 GFLOPS 14.402ms 1192.845 GFLOPS 11.970ms 1435.262 GFLOPS
13.609ms 1262.422 GFLOPS 13.556ms 1267.336 GFLOPS 14.281ms 1202.959 GFLOPS 11.815ms 1454.082 GFLOPS
各行100回平均
ちゃんと動いたMKLがめちゃくちゃ速い!

501:デフォルトの名無しさん
23/09/26 18:28:14.89 jbwpiF7D.net
>>446
(1000x1000ではなく) 1024x1024や2048x2048みたいな行列サイズの場合が
キャッシュの急所を突いてくるので、前後サイズ比で遅くなっていないか確認して見て下さい
(検索して出て来たのが不自然に960で計測していて、1024にしたら2~3割落ちになるケースがあったので)
実装方法、行列のメモリレイアウトやCPU次第で1024じゃないかもしれないのでそれも要注意です

502:デフォルトの名無しさん
23/09/26 19:08:18.72 LjeIbJUy.net
速度とかおまけなの
webは生産性が全て
だからRustなの

503:デフォルトの名無しさん
23/09/26 19:15:09.80 gWIlfLjO.net
SNSで、同じ人が同じくRustに関して書いた場合でも、
それがWindows向けの話題になると急に いいね が
減る傾向があるらしい。
つまりは、そういうことである。RustはWindowsアプリ
を作ろうとする人に人気が有るわけではないということだ。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch