Rust part18

■ このスレッドは過去ログ倉庫に格納されています
2022/12/10(土) 18:17:02.61ID:XSNoXTPt
公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust

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 part17
https://mevius.5ch.net/test/read.cgi/tech/1665063793/
2022/12/17(土) 01:08:13.28ID:7EPFyoxp
>>134
Stroustrup氏はもっと極端で、LinkedListがvectorより速度面で上回る
ケースはほとんど無い、という程度の事を言っているように思う。
2022/12/17(土) 01:15:11.07ID:7EPFyoxp
>>140
[補足]
コンテナ内にN個の要素がある場合、
リンクリストは、1個の要素の追加はO(1)。しかし、全走査や探索は、O(N)。
彼の実験だと、1個追加する際に、追加する場所を探すために平均で N/2 個の
ノードを巡ることになっているから、
1要素あたりに必要な時間 = 場所を探す時間 + 追加の時間
= O(N/2) + O(1)
= O(N)
となる。一方、vector の場合、
1要素あたりに必要な時間 = 場所を探す時間 + 追加の時間
= O(N/2) + O(N/2)
= O(N)
となる。
オーダー的には、O(N)で同じだが、前者は、キャッシュミスが酷くなるので、
「係数」がとても大きくなっている。
だから、前者の方が後者よりも遅くなっていっる理由は明確。

結論は、要素を追加する際に「場所を探す」ことを行なっていて、それがLinkedList
の不得意分野だから。
2022/12/17(土) 01:26:25.05ID:7EPFyoxp
>>142
[補足2]
リンクトリストとvectorで、条件を満たす1個の要素を線形探索で探す時に
かかる時間は、共に O(N)で、オーダー的には同じ。
ところが、彼の実験の場合、(均等確率の完全に近い)乱数で要素の追加される
場所と追加される順序が強くランダムになるようにしている。
この条件だと、途中結果の集合を線形探索する時、vectorは、
要素のアドレスが連続しているのでキャッシュの先読み(prefetch)がよく聞くが、
LinkedListは、アドレスが強くランダムになるので、キャッシュの先読みが
上手く働かず、1個の要素当り、現在のCPUで、80クロックほどのレイテンシーが
発生してしまう。
つまり、この実験においては、要素追加の場所をランダムにしているせいで、
要素を巡る際に、
vectorは、メモリーリードの追加レイテンシーが0に近い。
LinkedListは、メモリーリードの追加レイテンシーが80クロック程度かかる。
2022/12/17(土) 01:27:47.24ID:QKb/ZQVv
>>140-141
そういう極端な解釈や誤解を解くためと思われる FAQ が置いてある。
https://www.stroustrup.com/bs_faq.html#list
まずはこれを読んで、それでもなにか異論を唱えたいならこの中のどの部分についての異論なのか、
自身の主張がどう違うのか明らかにするように。
2022/12/17(土) 01:33:08.88ID:7EPFyoxp
>>144
俺が言いたいのは、Stroustrup氏は、数学的想像力においては、
俺より馬鹿だということだ。
2022/12/17(土) 01:36:35.34ID:7EPFyoxp
この分野は、専門家かどうかより、生まれつきの頭の良さがものを言う。
彼ははっきり行って、計算速度の見積もりにおいては才能が無い。
彼が評価されるべきは、
誰もオブジェクト指向を知らない時にSimulaのようなオブジェクト指向言語を
知っていて、それをCに応用したというだけ。
vectorやLinkedListの速度に関しては彼は間違っている。
2022/12/17(土) 01:38:43.69ID:7EPFyoxp
「測定無しで語らないで下さい」
というのも理論を軽視している学者の典型例。
日本でも物凄く多い。
自分が理論を正しく理解できて無いから、テストしないと見積もることが出来ないだけ。
2022/12/17(土) 01:46:15.68ID:7EPFyoxp
彼は理論を分かって無いことが明白。
この実験において、LinkedListがNが大きくなると有利になると思い込んでNを
大きくしていったらしい。すると、彼の予想に反してそうならなかった。
しかし、俺には理由が分かる。
むしろ、LinkedListで、Nで割った時の単位要素あたりの時間は、あるNが
ある値を超えたときから曲線の傾きが大きくなる。

(i) N < N0 : キャッシュが働く時:
f(N) = a1 * N + b
(ii) N > N0 : キャッシュが働かない時:
f(N) = a2 * N + b

DDR4-SDRAM での推定の係数 :
a1 = 0.5
a2 = 0.5 * 80

俺は、これを数秒間で導いたから、ケアレスミスが含まれるかもしれない。
2022/12/17(土) 01:50:24.83ID:7EPFyoxp
>>148
[ミス訂正]
a1 = 0.5 * L
a2 = 0.5 * (L + 80)
L = ループ一回当りのマシン語レベルでの見た目のクロック数。

0.5 を掛けているのは、1回の線形探索において、
平均移動回数が (N / 2) 回と推定されるから。

まだ、ケアレスミスがあるかもしれない。
2022/12/17(土) 02:27:39.08ID:QKb/ZQVv
すごいな。0点回答じゃん。
今後のため、ぜひコテハン頼む。
2022/12/17(土) 02:32:26.93ID:tahIU/4X
>>142
> = O(N/2) + O(1)
> = O(N)
ナニコレ?
2022/12/17(土) 02:49:00.46ID:k1W2kl1x
>>150
ID:7EPFyoxp = はちみつがはちみつ搾り取った後の残りカス
153デフォルトの名無しさん
垢版 |
2022/12/17(土) 03:25:53.37ID:sANdR5x8
100点おじさん頭悪いのは知ってたけどさすがにここまでとは思ってなかった
文章読解力に難があり過ぎ
2022/12/17(土) 07:25:20.60ID:jr3rWKyM
>>150,152-153
ちょっ、はちみつオジ=C++スレの天才オジなのか?
そしてすごい0点オジに、頭悪い100点オジ?
誰か複オジ軍団相関図、書いてよ!
2022/12/17(土) 08:32:26.89ID:4FUmGBLH
Stroustrupもオジ
2022/12/17(土) 09:13:23.75ID:FhlO/q3l
適材適所にオジ
2022/12/17(土) 09:40:37.34ID:7jrYNUaI
>>136
これよく見たら謝ってるようでそうでもない
当時Javaの時代の雰囲気(全体)と今のRustのイキリ勘違いヤロウ(一部)は全然レイヤーが違う
2022/12/17(土) 10:03:46.47ID:yTH8JJEo
>>122
Rustの0.30%には流石にがっかりきた

比率からして既に一巡したんだと思う
Java vs Scala(JVM, 17.5%/0.47% => 何巡もして37倍)
C/C++ vs Rust(Native, 8.24%/0.30% => 一巡目で27倍)
2022/12/17(土) 10:51:59.45ID:Qk229x0R
OSに依存しないライブラリの行数は、Android全体の行数で割り算できない
これが割り算のカラクリか
2022/12/17(土) 12:18:07.73ID:Wsp+a048
フロントエンドのちゃらい流行り廃りを追いかけ続けるのに疲れて
早めにバックエンドに転向したいと目論んでいた筋にとっとは
Rustは無駄だと思い知ったことだろう

GoやっとけよGo
2022/12/17(土) 12:43:51.64ID:Qk229x0R
しょーきょー法でGoみたいな風潮もいかがなものか
2022/12/17(土) 13:48:17.15ID:xCKnPakF
自分はRust使うけど人にはとりあえずGoにしとけば?って言っちゃうな
VSCodeなんかと同じで無難感はある
163デフォルトの名無しさん
垢版 |
2022/12/17(土) 14:06:02.86ID:1OvQaYAC
統一教会は日本で、ゆとりある教育を提唱しているが、韓国では全く逆のことを言ってるからな。
騙されるなよ。
2022/12/17(土) 14:19:36.18ID:e3Jjde95
>>157
対象の集団規模やその集団のレイヤーが異なることと、各々の集団に対して類似又は共通の雰囲気・要素が存在することないし感じられることは両立しうると思わない?
165デフォルトの名無しさん
垢版 |
2022/12/17(土) 14:38:10.16ID:1OvQaYAC
集団って統一教会のことか。
166デフォルトの名無しさん
垢版 |
2022/12/17(土) 14:42:50.70ID:1OvQaYAC
統一教会と自民党は両立じゃないだろ。
日本における統一教会の実行部隊が自民党。
2022/12/17(土) 15:23:19.74ID:y2/IfEDT
なんでRustのスレで統一教会が出てくるんだ…

統一教会に限らずカルトの関心は政治権力だから判定条件はis_自民党()じゃなくis_政権与党()だろ
必ずしもすべての政党が実行部隊機能を実装してるとは限らないけど
自民党を取り換えればカルト問題が解決するみたいな発想だとデバッグに支障がでるぞ
168デフォルトの名無しさん
垢版 |
2022/12/17(土) 15:42:05.55ID:Sr9loTqZ
>>167
ナイーブな考え方だなぁ
宗教法人を解散させればカルト問題は半分解決なんだけとなぜ解散させないのか少しでも考えたことある?
2022/12/17(土) 16:16:29.71ID:CCt/1VrG
Rustが適材適所なのはゼロではないと承知の上で「Goが適材である場所が多い」という話だろ
2022/12/17(土) 16:35:05.53ID:tBNmuOUO
Rustはlinuxのドライバー作成専用言語
2022/12/17(土) 16:40:34.79ID:2HWiBBP7
Rustはしょーきょー法で>>170みたいな風潮
2022/12/17(土) 17:07:17.99ID:OmKniCOI
>>168
よっぽどナイーブな考え方で草
中世の人かな?
2022/12/17(土) 17:29:21.75ID:vKjf1YhM
統一教会信者出てきたな
174デフォルトの名無しさん
垢版 |
2022/12/17(土) 18:34:12.05ID:nURLlX7p
そうかそうかww
2022/12/17(土) 19:05:38.21ID:u3ABxrNN
>>151
要素数Nの時に何らかの処理Aに掛かる時間をf(N)とするとき、
O(g(N))は、ある N0 があって、N0 より大きな どんな実数 N に対しても、
f(N) / g(N) < アルファ
が成り立つことを意味し、「押さえられる無限大」、といい、
ランダウ記号(の一種)、または、ラージO 記法という。

だから、O(N/2)=O(N)であり、O(N)+O(1)=O(N)である。
2022/12/17(土) 19:13:53.37ID:u3ABxrNN
>>175
[補足]
このことは、
f(N) = O(g(N))
とも書く。以下、厳密性はないが、理解のために書いておけば、
f(N)=O(1)とは、大まかに言って f(N) = b
f(N)=O(N)とは、大まかに言って f(N) = a・N + b
f(N)=O(N^2)とは、大まかに言って f(N) = a2・N^2 + a1・N + b
を意味する。だから、
f'(N)=O(N/2)とは、大まかに言って f'(N) = a・N/2 + b のような意味になるから、
a' = a / 2 と書いてしまえば、
f'(N) = a'・N + b となり、f'(N)=O(N)と言えることが分かる。
f''(N)=O(N)+O(1) は、大まかに言って、
f''(N)= { a・N + b1 } + b2 = a・N + (b1+b2) であるから、
f''(N)=O(N) であることがわかる。従って、

O(N/2)+O(1)=O(N)
であることが分かる。
2022/12/17(土) 19:21:03.57ID:u3ABxrNN
>>176
[補足2]
また厳密性を無視して大体で書くと、
f(N)=O(g(N))
の場合、f(N)のNに関する最大次数がg(N)と同じ、という意味。
だから、g(N)がNに関して k 次元だと、f(N)もNに関して k 次元、という
ことを概ね意味する。だから、大体、
f(N)=O(1) とは、f(N)=b を意味する。
f(N)=O(N) とは、f(N)=a * N + ・・・ を意味する。
f(N)=O(N^2) とは、f(N)=a * N^2 + ・・・ を意味する。
なので、f(N)=O(N/2)+O(1)だと、
f(N) = a・N/2 + b
みたいになり、これは、N に関して 1 次関数だから、Nに関する最大次数は 1。
だから、O(N)ということになる。
2022/12/17(土) 19:24:51.43ID:u3ABxrNN
>>177
[補足3]
グラフを描いたときにどこかで無限大になるような特殊な関数以外は、
「テーラー展開」で近似することが出来て、
f(N)=a_k・N^k + a_{k-1}・N^{k-1} + a_{k-2}・N^{k-2}+・・・+
   a_1・N + a_0 + (少しの余り)
のように書けることが知られている。
それを知っていれば、理解の助けになる。
2022/12/17(土) 19:50:24.96ID:VEec8B0L
O(N) とかを最近知って説明したくてたまらないんだろうなw
2022/12/17(土) 19:54:00.74ID:IjrFOfax
すまない、彼はド素人だから見逃してやってほしい
山奥で一人でプログラミング勉強中なんだろうね
情報系学生や職業マが一ヶ月目に覚えることを皆に発表したいらしいんだw
2022/12/17(土) 20:18:30.40ID:Qk229x0R
4ヶ月で教えたいこと
1 実数クラスは複素数クラスを継承しない
2 実装継承だろうがinterface継承だろうがオーバーライドは遅い
3 オーバーロードは速い
4 templateも速い
182デフォルトの名無しさん
垢版 |
2022/12/17(土) 20:33:54.64ID:hdE6AFs/
今となっては不要な知識だな
2022/12/17(土) 21:25:28.93ID:y2/IfEDT
Stroustrup氏の名誉のために補足しておくと、発端?の120の記事は
Software Development for Infractructure(インフラストラクチャ用のソフトウェア開発)
ってタイトルで、vectorとlinked listの比較を出してるセクションの見出しは
Access memory less(メモリアクセスは少なく)
で、書き出しは
When I first wrote microcode to squeeze the last bit of
efficiency out of a processor, a good rule of thumb was that
the system could execute nine instructions while waiting
for a memory read to complete.
(私が初めて効率を追求したマイクロコードを書いたときに目安にしたのは、
システムが1つのメモリの読み取り完了を待つ間に9つの命令を実行できるということだった)

インフラとかファームウェア向けに開発する時はポインタ(間接参照)使うとオーバーヘッドが大きいから
多少非効率に思えてもvector使った方がいいよって内容になってる
端的に言ってしまえば適材適所の話でアルゴリズムとかオーダは関係ないはず(全部読んでない)

余計なこと教える前に読解力を鍛えてやってくれ
184デフォルトの名無しさん
垢版 |
2022/12/17(土) 22:23:54.16ID:o5Fxz66L
>>183
おいおいまた誤訳君かよw
お前も読解力鍛えろ
英語が多少不得意だとしてもパラグラフ全体を読めばそんな訳には絶対ならんだろ
2022/12/17(土) 23:38:44.03ID:t4TbQFP4
昔のCPUでアセンブラの経験あると
間接アドレシングなんか、クロック数かかり過ぎてアホらしいから、
そういうレベルの話だろ
ただ、この記事は2012年で、パイプラインやキャッシュの話も出てる
2022/12/18(日) 00:59:42.45ID:KVP7/Uup
最近の自動翻訳は分かりやすくて優秀過ぎる

マシンのアーキテクチャやプログラミング言語にもよりますが、ベクターはNの値が小から中程度であれば最適という答えになります。
8Gバイトのノートパソコンで実験を行ったところ、Nは50万よりはるかに大きいことが分かりました。
図1の赤線はリスト、青線はベクトルでかかった時間を示しています。
これは微妙な違いではない。X軸は10万要素単位、Y軸は秒単位です。
つまり、「小さなリスト」に対しては、リンク構造よりもベクトルの方がリストの表現として優れているのです。



インフラアプリケーションの開発者は、コンパクトでアクセスパターンが
予測可能であることが効率化に不可欠だと言っています。
消費電力はメモリアクセスの回数にほぼ比例するため、
赤(リスト)と青(ベクトル)の線は、スマートフォンのバッテリーの消費量や必要なサーバーファームの数の一次近似値です。
187デフォルトの名無しさん
垢版 |
2022/12/18(日) 01:25:48.90ID:Pt3aaRaQ
自民党の問題点は、統一教会とつるんでるのがばれても縁を切らず、共存共栄の道を模索するとドヤ顔で記者会見したこと。
2022/12/18(日) 07:34:33.80ID:wAFe3NPG
>>170
Linuxドライバーはオープンソースが好まれるから、
Rust製ドライバ作成は仕事ではなく趣味プログラマが細々とやるんだろうな

ただ働き奴隷言語でOK
2022/12/18(日) 07:50:17.66ID:pDoyuEtS
LinuxでもRustイキリ飛ばし記事が出て来るだろう
数字のカラクリが無いかどうか皆でTokeiしような
190デフォルトの名無しさん
垢版 |
2022/12/18(日) 07:50:19.13ID:Pt3aaRaQ
最新のLinux Kernel 6.1はRustyというコード名前だし。
Rustに全振りしてるのでは?
191デフォルトの名無しさん
垢版 |
2022/12/18(日) 07:51:05.11ID:Pt3aaRaQ
LinuxはC++との相性最悪だし、Rustへ移行するしかない。
2022/12/18(日) 07:58:07.32ID:uoxQL2Fw
LinusのドSでただ働き奴隷がどれだけ頑張るのか
おらワクワクして来たぞ!
早くTokei見たい!
2022/12/18(日) 08:01:27.15ID:x48rVm/G
見せてもらう、イキリRustの全振り移行とやらをw
194デフォルトの名無しさん
垢版 |
2022/12/18(日) 08:04:19.65ID:Pt3aaRaQ
コード名前には突っ込んでこないのか。
せっかくご用意したのに。
2022/12/18(日) 08:08:01.02ID:x48rVm/G
GoはNSAのメモリ安全公認言語だしイキリゼロ
堅実だわ
2022/12/18(日) 08:09:33.26ID:x48rVm/G
名前でイキレてると考えてるRustが惨めでならない
2022/12/18(日) 08:14:25.29ID:x48rVm/G
Rustはボチボチ、って周りには答えることにした
2022/12/18(日) 08:24:24.51ID:VbINaFFK
>>195 Goの何が良いのか分からないが、したたかだったのは認める
>>122 なんでこんなに差がついのか?
>>169 これが答え
2022/12/18(日) 08:27:05.71ID:VbINaFFK
言語仕様の優劣でイキリマウントしてた俺たちが需要を勘違いしてただけ
2022/12/18(日) 09:11:48.81ID:f04NRte7
>>198-199
いろいろ立場によって、Goは食わず嫌いで済まされないか...
そのうちに、やってないとGoを目の敵にしていると疑われて、
こっちがイキリ判定されるから
2022/12/18(日) 09:21:33.95ID:/OPYjfYK
適材適所にGo
処世術にGo
隠れ趣味にRust
2022/12/18(日) 09:23:43.37ID:rHzdtEqK
Kernelいじるので仕方なくやってる
2022/12/18(日) 09:26:47.68ID:mA0KcrEy
コソコソRust
イヤイヤRust
なのに愛され言語No1←あっ、
2022/12/18(日) 09:46:37.39ID:x4/bAggI
>>201
処世術にGoというのは絶妙なポイント突いてる
PythonだとAIで突っ込まれて実力が露呈するから
Rustは今年印象を悪くした
2022/12/18(日) 10:21:16.41ID:NDMThvXE
>PythonだとAIで突っ込まれて実力が露呈するから
知ってたわ
Rust仕様マウントerはそういう実力の無い奴
2022/12/18(日) 11:18:40.85ID:TnNRBRmL
はちみつオジは仕様マウントerですか?
はちみつオジは仕様マウントerですか?
207デフォルトの名無しさん
垢版 |
2022/12/18(日) 13:25:28.85ID:Pt3aaRaQ
Haskellと協力しよう。
2022/12/18(日) 13:55:56.71ID:VIbL9AVd
goのメリット
文法の単純さ
ライブラリ、リントなどのエコ環境の良さ
ビルド速度
バイナリ配布の簡易さ

これだけあれば十分だろ。
2022/12/18(日) 14:04:55.78ID:HLXapubf
標準ライブラリが充実してるのが一番大きいだろ
2022/12/18(日) 14:09:44.46ID:fqk1SiW3
次世代言語スレでやれ
2022/12/18(日) 14:28:32.59ID:XqzxcH1y
各言語の複雑さの総和は大きい
だから、一つしか選べないとかそれ以外と戦争とかしない限り、単純さは現実的でない
2022/12/18(日) 14:50:00.51ID:/g1tYkuT
>>185
そんなことはない。486以降では、昔から間接アドレッシングと
インクリメントのクロック数は同じだった。
1. 間接アドレッシング(p = p->next) :
mov ebx,[ebx+メンバのクラスの先頭からの相対アドレス] ;1クロック
2. ポインタのインクリメント(++p) :
add ebx,クラスのバイトサイズ ;1クロック
#Stroustrup氏はキャッシュの話をしている。
2022/12/18(日) 15:04:42.63ID:/g1tYkuT
>>178
[補足]
なお、O(・) 記号では、log N はよく出てくるが、log x は x=1の周りでは
次のような無限級数で(近似的に)展開できる。
log(1+x)=x-(1/2)x^2+(1/3)x^3-(1/4)x^4+・・・
無限級数なので、xの最大次数は、無限大。
だから、178 では、k が有限で止まっている形になっているが、本当はそうではない。
また、上記の展開式を見ると、正負の符合が交互に出てくることが分かる。
そんなに単純ではないが、このことも影響して y = log x は、dy/dx → 0 ( x → 無限大 )
であり、傾きが極限的にどんどん 0 (水平) に近付いていく。
つまり、N = 1 + x が変化してもほとんど変化しなくなる。
だから、log N は、「みなし定数」的と言われることがある。
なお、この時、逆関数で考えると、x = exp(y) であり、
y = exp(x) のグラフを描いて、y = x で(対称的に)折り返すと考えやすい事がある。
2022/12/18(日) 15:09:00.64ID:/g1tYkuT
>>213
なお、この展開式にもウソがある。
それは、log(1+x)で、その展開が正しいのは、|x| < 1 の範囲に限られることを
言及せずに誤魔化していること。
しかし、x → ∞で、dy/dx → 0 の証明は出来る。それは、
y = exp(x) が、dy/dx → ∞ だから、dx/dy → 0 であり、
逆関数 y = log(x) だと、dy/dx → 0 であるから。 //
2022/12/18(日) 15:44:41.47ID:W2G5o+in
高校数学を長々喋らんでいいw
2022/12/18(日) 15:50:01.93ID:+UGBJzct
高校数学を演説したいんよね
それ聞かされる周りの高学歴の気持ちになってみてほしい
217デフォルトの名無しさん
垢版 |
2022/12/18(日) 15:51:59.31ID:3W2C0MJT
>>205 それ分かる
SO/HN/rで仕入れた俄か知識をひけらかすために、質問と回答を自演するパターン>Rust仕様マウントer
厚かましくも、スレ民に教えたい、と思ってるんだろうけど姑息すぎてスルーしてる
時々引っかかるカモがいる様に見えるけど自演なんだろうな

>>206
自分で考えろ
218デフォルトの名無しさん
垢版 |
2022/12/18(日) 16:07:41.26ID:RtgSwVtd
>>215-216 俺も分かる
数学科卒でRustのメモリ安全性は(自称色々条件つけて)数学的証明付きだと吹聴してた実力の無い奴がいた
情報系院卒だったかな
219デフォルトの名無しさん
垢版 |
2022/12/18(日) 16:28:02.98ID:vIybIBIV
>>208-209 なるほどね
加えてGCC LLVM以外の独立系native codegenにしては高速なバイナリを吐く様だね
独立系と言ってもGoogleなんだから当然っちゃ当然か
220デフォルトの名無しさん
垢版 |
2022/12/18(日) 16:47:10.99ID:7QJNj+m3
迷惑オジ達に共通してるのは論理的思考レベルの低さ

読解力がない
要点をつかめない
主張を簡潔にまとめられない
全部原因は同じ
2022/12/18(日) 16:50:21.46ID:nDGotMNY
goユーザとRustユーザは言語に求める性質が違うから住み分けたほうがいいかも

goも少し触ったことがあるけど型の表現とエラー処理のサポートが物足りなくてRustに流れた
例えば標準パッケージioのReadWriteSeekerとかReadSeekCloserは自分の感覚だととても気持ち悪い
(多少文法が複雑でもRead + Write + Seekみたいに足し算で表現したい)

ただgoの文字型のruneは中二っぽくて好き

go2もpython3みたいに大変革になるのかな
※goは長いこと使ってないから情報が古いかもしれない
2022/12/18(日) 16:57:13.69ID:ciqdCn4z
とりあえずここはRustスレなのでGoの話はよそでやってくれ
223デフォルトの名無しさん
垢版 |
2022/12/18(日) 17:05:54.42ID:QlmiPWwX
>>219
たしかにRustよりGoのが速いベンチマークがあったな

>>220
この人5chがちら裏なの理解する論理的思考レベルがない

>>221
また中二っぽく可愛がってもらえよ
Go language part 5
https://mevius.5ch.net/test/read.cgi/tech/1645915400/390
390: デフォルトの名無しさん sage 2022/06/15(水) 05:30:30.87 ID:l/JMV/GH
goはそもそもエラーを扱う気概にかける言語だからどうしょうもない
毎回いちいちエラーコード返すのが作法とか何時の時代だよって感じだ
2022/12/18(日) 17:17:21.90ID:ZjeACeaz
>>147
理論は事実に立脚して組み立てられるものであって理論を組み立てればその通りに事実が動くわけじゃない。
理論の正しさは実際にそうなっているということによって証明しなければ想定の中でだけ正しくても意味ない。
実測は要る。 (少なくとも工学的思想では。)

想定のほうで Stroustrup が誤っているという主張は (その主張が妥当かどうかは別として) わかったが、
だからといって実測の重要性を貶めるのはよくないな。
225デフォルトの名無しさん
垢版 |
2022/12/18(日) 17:18:21.24ID:Kra2fWlF
>たしかにRustよりGoのが速いベンチマークがあったな
ボロ負けじゃね?しかもマルチスレッドがGoの独壇場じゃねぇか
誰か本気だせよ

次世代言語27 Nim Zig Pony Carbon Gleam
https://mevius.5ch.net/test/read.cgi/tech/1659660050/81
81: デフォルトの名無しさん(ワッチョイ 1e66-JEMU) sage 2022/09/28(水) 19:48:23.69 ID:Tun9Z/EC0
Nim追加
Language x10 x100 x200 x400 Memory Comment
--------------------------------------------------------------
Zig 0.118 1.073 2.113 4.203 3.2MB (std.HashMap, caller-hash by Context(Fnv1a_64))
Nim(clang) 0.211 1.171 2.245 4.372 4.2MB (CustomCountTable,LTO,ARC,caller-hash) New
C(gcc) 0.136 1.146 2.271 4.531 2.0MB (optimized.c,binary IO,jemalloc,O4,LTO)
C(clang/LLVM) 0.137 1.147 2.280 4.544 2.0MB (optimized.c,binary IO,jemalloc,O3,LTO)
Go 0.152 1.233 2.428 4.832 3.9MB (caller hash,better loop)
Go 0.164 1.346 2.654 5.279 3.8MB (caller hash)
Rust(LLVM) 0.154 1.425 2.838 5.674 2.6MB (optimized-customhashmap,O3,LTO,caller-hash)

以下、caller-hashではない
Go 0.085 0.366 0.693 1.319 61.9MB (parallel.go,reserve 65536/2)<--マルチスレッド
Nim(clang) 0.218 1.255 2.401 4.691 4.2MB (CustomCountTable,LTO,ARC) New
Zig 0.162 1.493 2.970 5.935 4.6MB (std.StringHashMap)
Go 0.182 1.563 3.063 6.097 3.8MB (customhash.go,reserve 65536)
Rust(LLVM) 0.214 1.725 3.396 6.715 3.5MB (optimized,fxhash,O3,LTO)
Nim(clang) 0.316 2.241 4.371 8.633 4.2MB (optimized.nim,std/CountTable,65536,LTO,ARC,FNV) New
Nim(clang) 0.332 2.387 4.652 9.152 4.2MB (optimized.nim,std/CountTable,65536,LTO,ARC) New
226デフォルトの名無しさん
垢版 |
2022/12/18(日) 17:31:20.56ID:Pcpr/u0k
>>224-225
はちみつオジが、仕様マウントerなのか、それともベンチ実測で天才プログラムを出すか、の流れキター
2022/12/18(日) 17:35:28.16ID:XqzxcH1y
ギャンブルって短期的には実力より運だから
実力主義やめないと短く簡潔にまとめることはできない
228デフォルトの名無しさん
垢版 |
2022/12/18(日) 17:40:11.04ID:UUQieuN3
>>211,227
えっ?
このポエオジ文って、はちみつオジが逃げ出す時の自演だったかよ!
229デフォルトの名無しさん
垢版 |
2022/12/18(日) 17:42:45.12ID:UUQieuN3
みんな知ってたの?
230デフォルトの名無しさん
垢版 |
2022/12/18(日) 17:43:32.51ID:UUQieuN3
これポエオジだけじゃ済まされないよ
2022/12/18(日) 18:10:21.20ID:nDGotMNY
>>223
Goが合わなかったからRust使ってるって言うてますやん
Go2出たらまたちょっと試すかも

このスレでGoの宣伝してる人は他の言語のスレでRustを宣伝してた人と同類なんだろうけど
goのどこを宣伝したいのかいまいち伝わってこない
並行処理が書きやすいって辺り?
「Rust→メモリ安全(ドン!)」みたいにもう少し分かりやすくしてくれないと(どのみち迷惑だけど…)
232デフォルトの名無しさん
垢版 |
2022/12/18(日) 18:22:19.21ID:Yrd3c8FW
>>228-230
いやショックスルー出来ん
2022/12/18(日) 18:29:47.39ID:NaS4unRh
>>231
ライブラリではなく言語ランタイムに統合されてるってのは大きいだろ
並行処理を意識してるだけで勝手に並列になるってのも強みの一つ
234デフォルトの名無しさん
垢版 |
2022/12/18(日) 18:29:54.58ID:7MHx9hHi
はちみつ味の複製ポエム美味しかった?
235デフォルトの名無しさん
垢版 |
2022/12/18(日) 18:34:43.02ID:5AOpzoDN
俺も知らなかった、裏切られた
androidの数字とか結局は誘導だったんだな
236デフォルトの名無しさん
垢版 |
2022/12/18(日) 18:36:05.72ID:5AOpzoDN
>>231
お前が迷惑
237デフォルトの名無しさん
垢版 |
2022/12/18(日) 18:36:46.79ID:5AOpzoDN
>>234
こいつも迷惑
238デフォルトの名無しさん
垢版 |
2022/12/18(日) 18:57:06.70ID:mhRLUjP0
>>228-230 なんと

はちみつが否定しているから完全スルーしてたけど内容に一理あるのか?
ID:7EPFyoxp
ID:u3ABxrNN
ID:/g1tYkuT
239デフォルトの名無しさん
垢版 |
2022/12/18(日) 19:12:48.17ID:tUNfGn/h
ID:Pt3aaRaQもはちみつだな
>>187 >>207
わけわからん
240デフォルトの名無しさん
垢版 |
2022/12/18(日) 19:43:19.34ID:WZSOTYm5
>>235 流れを見直したら、誘導なんて甘くない、印象操作とはつみつ効果でだましに掛かってる
愉快犯にもほどがある、だましの手口↓

Rust part17
https://mevius.5ch.net/test/read.cgi/tech/1665063793/855
855: デフォルトの名無しさん 2022/12/07(水) 00:21:26.68 ID:rpgrLTt2
AndroidもRustで書かれてたのかよ!
しかもRustの部分は脆弱性の報告0件って恐ろしいほどの安全性だな……
これマジでRust一強の時代がくるかも……
Ubuntuにデフォルトで入るまで待とうとのん気に構えてたけど急いで勉強しないと……!〆(.. )カリカリッ!!
https://japan.zdnet.com/article/35196972/

https://mevius.5ch.net/test/read.cgi/tech/1665063793/856
856: デフォルトの名無しさん sage 2022/12/07(水) 00:35:34.36 ID:21cwGaas
>>855
まじ?
というか20%がrustってえぐいな

https://mevius.5ch.net/test/read.cgi/tech/1665063793/864
864: はちみつ餃子 ◆8X2XSCHEME sage 2022/12/07(水) 09:19:24.95 ID:vqEtcxl0
どれがいい感じに発展するか事前にわかるもんではないからな。 狙いとは違う方向で結実することもあるし。
色々やっておく (それが出来る環境を用意する) とどれかは上手くいくし、上手くいかずに消えるものも多いってだけのこと。

https://mevius.5ch.net/test/read.cgi/tech/1665063793/866
866: デフォルトの名無しさん 2022/12/07(水) 10:39:11.42 ID:KNXoSnHr
>>855
結果だけみると凄まじい
システムプログラミング関係の置き換えは案外急速に進むかもしれんね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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