公式
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/
探検
Rust part18
■ このスレッドは過去ログ倉庫に格納されています
2022/12/10(土) 18:17:02.61ID:XSNoXTPt
61デフォルトの名無しさん
2022/12/12(月) 01:46:10.84ID:gFGRqSRq62デフォルトの名無しさん
2022/12/12(月) 01:47:21.11ID:gFGRqSRq 原文にかいてさえあれば、実態はどうでも良い
↓
それ以外に何を問題にしているの?
この返しには驚いた。良心のかけらもない
↓
それ以外に何を問題にしているの?
この返しには驚いた。良心のかけらもない
63デフォルトの名無しさん
2022/12/12(月) 01:49:04.49ID:gFGRqSRq 0.1Mをけなしてるのか?可哀想だろ
2022/12/12(月) 01:50:55.08ID:TQPiS+Fx
>>61
コードの量あたりの脆弱性数の言語間比較の話なのになんで依存関係除外するの?
脆弱性の原因になるのは独自に作った部分だけじゃないよね?
そんなに0.1Mが重要だと思うから原作者に書けと伝えたら?
コードの量あたりの脆弱性数の言語間比較の話なのになんで依存関係除外するの?
脆弱性の原因になるのは独自に作った部分だけじゃないよね?
そんなに0.1Mが重要だと思うから原作者に書けと伝えたら?
65デフォルトの名無しさん
2022/12/12(月) 01:52:09.95ID:gFGRqSRq >>64
君のカラクリストーリーはどうでも良いから
君のカラクリストーリーはどうでも良いから
2022/12/12(月) 01:53:07.38ID:TQPiS+Fx
わかったわかった、理屈はどうでも良いね
あんたが道徳的に正しいよ
あんたが道徳的に正しいよ
67デフォルトの名無しさん
2022/12/12(月) 01:55:21.13ID:gFGRqSRq 実態はどうでも良いカラクリ君が理屈を語るとは、笑う
68デフォルトの名無しさん
2022/12/12(月) 01:55:55.20ID:gFGRqSRq 屁理屈、詭弁だろ
69デフォルトの名無しさん
2022/12/12(月) 01:57:32.25ID:gFGRqSRq しかもね、道徳じゃなくてリスクの話
70デフォルトの名無しさん
2022/12/12(月) 01:59:40.01ID:gFGRqSRq 加えて、プログラマーに対するリスペクト
2022/12/12(月) 02:01:36.06ID:TQPiS+Fx
あるアプリケーションを構成するコードの量を示すときは、自分たちが書いた量も示さないとリスクがあるしリスペクトに欠けるということね了解
72デフォルトの名無しさん
2022/12/12(月) 02:02:25.03ID:gFGRqSRq そうだよ。カラクリ君。15倍は失態だったね
73デフォルトの名無しさん
2022/12/12(月) 02:03:00.26ID:gFGRqSRq 実態を大切にしような
2022/12/12(月) 02:04:04.46ID:TQPiS+Fx
googleの人にもぜひ伝えてあげてよ立派な考えなんだからさ
もうちょっとコンテキスト補ってあげないと伝わらないと思うけど
もうちょっとコンテキスト補ってあげないと伝わらないと思うけど
75デフォルトの名無しさん
2022/12/12(月) 02:05:54.83ID:gFGRqSRq うっぷん晴らしにキャラ召喚しないでね
2022/12/12(月) 02:07:59.96ID:BZoLN2AH
あんたじゃないし、そんなことはしないよ
2022/12/12(月) 02:08:45.26ID:BZoLN2AH
なんか突然ID変わったな
ID:BZoLN2AH=ID:TQPiS+Fx
ID:BZoLN2AH=ID:TQPiS+Fx
78デフォルトの名無しさん
2022/12/12(月) 02:09:06.83ID:gFGRqSRq 冗談きついな、別室で頑張ってね
2022/12/12(月) 02:11:40.12ID:BZoLN2AH
それおちょくってるのか、そういう組織があるとマジで思ってるのか、どつち?
80デフォルトの名無しさん
2022/12/12(月) 02:14:41.40ID:gFGRqSRq >それおちょくってるのか、そういう組織
リスクの話をしている。おちょくりでもマジでもない
リスクの話をしている。おちょくりでもマジでもない
81デフォルトの名無しさん
2022/12/12(月) 02:15:18.25ID:gFGRqSRq レピュテーションリスク
82デフォルトの名無しさん
2022/12/12(月) 02:16:26.89ID:gFGRqSRq 実態通りのレピュテーションが重要
2022/12/12(月) 02:17:58.12ID:BZoLN2AH
84デフォルトの名無しさん
2022/12/12(月) 02:20:53.27ID:gFGRqSRq そうか、スレ立て人だったか。バイバイ、面白かったよ、別室で頑張ってね
2022/12/12(月) 02:26:04.34ID:na5n8HXk
成果を数値化した側は誤解を招き、リスクを数値化しようともしない側が数学的に優位なのはまあ分かる
3.14よりもπの方が誤解がないのと同じ
3.14よりもπの方が誤解がないのと同じ
86デフォルトの名無しさん
2022/12/12(月) 02:28:14.68ID:gFGRqSRq あらら、キャラ召喚してるじゃんw
87デフォルトの名無しさん
2022/12/12(月) 02:58:18.77ID:Igq6bqVZ88デフォルトの名無しさん
2022/12/12(月) 03:05:27.82ID:gFGRqSRq そりゃどうも
89デフォルトの名無しさん
2022/12/12(月) 03:07:58.75ID:gFGRqSRq 85もキャラ変しただけだからNGしときな。
2022/12/12(月) 06:07:39.15ID:sG+NubL6
>>85
15倍の誤差だからπ=47.12って言う大暴投だからな
15倍の誤差だからπ=47.12って言う大暴投だからな
2022/12/12(月) 06:51:30.97ID:wN/j/0mR
2022/12/12(月) 07:35:06.40ID:BKVbG4TJ
2022/12/12(月) 07:35:25.61ID:T7WlM3CT
自称集団ストーカー被害者の供述と同じ
2022/12/12(月) 07:49:30.92ID:0yhb1mCe
2022/12/12(月) 16:49:32.11ID:BsuscEYz
Fedora37のLinux KernelがVer.6.0になってたから新機能なんだろってググったら6.1から遂にRustサポートされるんだね
2022/12/12(月) 23:25:53.54ID:MqOriyPq
このスレ捨て捨てよ
2022/12/13(火) 22:51:58.96ID:PZobp7zP
Android12のtokeiしたぞ計算は自分でやれ
===============================================================================
Language Files Lines Code Comments Blanks
===============================================================================
Assembly 10 1835489 1776138 61 59290
GNU Style Assembly 511 698434 666001 20331 12102
C 2269 858479 652278 119729 86472
C Header 20347 4528431 3057716 1023059 447656
C++ 17900 9289538 7491429 858792 939317
C++ Header 305 157423 120050 11387 25986
Go 805 271377 201441 35705 34231
Java 57305 14796003 9709131 3245016 1841856
JavaScript 91 25468 20400 2951 2117
Kotlin 1833 319017 225519 58641 34857
Python 3721 933286 747682 79727 105877
TypeScript 231 680201 536363 142914 924
-------------------------------------------------------------------------------
Rust 203 47094 38569 3786 4739
|- Markdown 148 4044 13 3696 335
(Total) 51138 38582 7482 5074
===============================================================================
Total 105531 34440240 25242717 5602099 3595424
===============================================================================
externalの名前が実態に同意だしそもそもexternal内はダブルカウントが多発している
===============================================================================
Language Files Lines Code Comments Blanks
===============================================================================
Assembly 10 1835489 1776138 61 59290
GNU Style Assembly 511 698434 666001 20331 12102
C 2269 858479 652278 119729 86472
C Header 20347 4528431 3057716 1023059 447656
C++ 17900 9289538 7491429 858792 939317
C++ Header 305 157423 120050 11387 25986
Go 805 271377 201441 35705 34231
Java 57305 14796003 9709131 3245016 1841856
JavaScript 91 25468 20400 2951 2117
Kotlin 1833 319017 225519 58641 34857
Python 3721 933286 747682 79727 105877
TypeScript 231 680201 536363 142914 924
-------------------------------------------------------------------------------
Rust 203 47094 38569 3786 4739
|- Markdown 148 4044 13 3696 335
(Total) 51138 38582 7482 5074
===============================================================================
Total 105531 34440240 25242717 5602099 3595424
===============================================================================
externalの名前が実態に同意だしそもそもexternal内はダブルカウントが多発している
2022/12/13(火) 23:23:57.37ID:wZtwdQkr
もっとGoがフィーチャーされてもいい
Rust 0.27%(Android13)
Rust 2.19%(rust増減/全体増減)
Rust 6.25%(rust増減/native増減)
Go 0.94%(Android13)
Go 3.14%(go増減/全体増減)
Go 8.97%(go増減/native増減)
native(C/C++,go,rust,asm)
Rust 0.27%(Android13)
Rust 2.19%(rust増減/全体増減)
Rust 6.25%(rust増減/native増減)
Go 0.94%(Android13)
Go 3.14%(go増減/全体増減)
Go 8.97%(go増減/native増減)
native(C/C++,go,rust,asm)
2022/12/13(火) 23:30:32.49ID:5abcV+yr
相関で言うと、致命的バグが減ったのはGoが増えたおかげ
100デフォルトの名無しさん
2022/12/13(火) 23:37:00.82ID:wwjAZKKd GoはNSA公認の安全志向言語だからね
101デフォルトの名無しさん
2022/12/14(水) 01:02:52.63ID:ITXTdsK+ 我が軍のリターンと我が軍のリスクを比較するべきで
味方のリターンと競争相手のリターンの差をカイゼンさせようとするのは合理的ではないと思う
味方のリターンと競争相手のリターンの差をカイゼンさせようとするのは合理的ではないと思う
102デフォルトの名無しさん
2022/12/14(水) 01:14:31.36ID:FVRGSfZv 最初から違和感があると思っていたが
元記事ではGoが何故か除外されてる
ストーリー構成に不都合だったのか
相関だと何とでも言えるんだね
元記事ではGoが何故か除外されてる
ストーリー構成に不都合だったのか
相関だと何とでも言えるんだね
103デフォルトの名無しさん
2022/12/14(水) 01:27:29.73ID:yU9uAi27 >>101
良くないね、堂々と数字のカラクリを肯定するとは
良くないね、堂々と数字のカラクリを肯定するとは
104デフォルトの名無しさん
2022/12/14(水) 01:56:11.07ID:5mkAA7Tq105デフォルトの名無しさん
2022/12/14(水) 06:45:32.23ID:RA7cvU7V106デフォルトの名無しさん
2022/12/14(水) 07:01:51.79ID:Jcr0Ea1q ストーリーの無い生データを見た実際のところ、バグデータのある期間(~android12)でのRustは高々0.13%しか無い
C++の検証ツール類の活用だったりGo活用だったりの方が圧倒的に貢献していると考えるのが普通
他言語の成果を横取りしてる印象を持ったし、データを見たマの反発を買うのも当然
C++の検証ツール類の活用だったりGo活用だったりの方が圧倒的に貢献していると考えるのが普通
他言語の成果を横取りしてる印象を持ったし、データを見たマの反発を買うのも当然
107デフォルトの名無しさん
2022/12/14(水) 07:15:30.66ID:qnQQMcYI108デフォルトの名無しさん
2022/12/14(水) 07:40:22.86ID:3cYTS+R6109デフォルトの名無しさん
2022/12/14(水) 08:29:54.62ID:RA7cvU7V110デフォルトの名無しさん
2022/12/14(水) 08:46:08.12ID:l9mIlMff111デフォルトの名無しさん
2022/12/14(水) 12:43:46.50ID:RA7cvU7V112デフォルトの名無しさん
2022/12/15(木) 18:34:29.90ID:XGuELYQs Rust自体は好きで趣味で使ってるんだけど、最近の猫も杓子もRustっていう一部の風潮には、在りし日のC++やJavaが持て囃されていた時代を思い出してしまう時がある
113デフォルトの名無しさん
2022/12/15(木) 18:53:18.12ID:4nUn5UbZ 奴隷言語ってことなのかもな
114デフォルトの名無しさん
2022/12/15(木) 19:32:12.34ID:eVXaJ4u5 同意。
趣味では楽しく使ってるけど仕事では使いたくないわ。
不具合とか新規要件とか起因で所有権周り軒並みいじる必要が出てきたりしたら泣いちゃう。
趣味では楽しく使ってるけど仕事では使いたくないわ。
不具合とか新規要件とか起因で所有権周り軒並みいじる必要が出てきたりしたら泣いちゃう。
115デフォルトの名無しさん
2022/12/15(木) 20:01:15.60ID:adPtbWG7116デフォルトの名無しさん
2022/12/15(木) 21:34:29.95ID:2hO+Mt8T 正解は一つだけのようなことは昔Pythonが標榜していたけど
違反や無視しても棒で殴られたりしなかったので普通に普及した
違反や無視しても棒で殴られたりしなかったので普通に普及した
117はちみつ餃子 ◆8X2XSCHEME
2022/12/15(木) 21:48:07.72ID:xFKc8Du5 C や C++ が駄目な部分を改定でどうにかしようとしてもツギハギだらけでますますグダグダになるばかり。
C や C++ みたい (いわゆるシステム記述言語) なことを安全にやれるように更地から設計しなおそうという試みの中では Rust は比較的よいと思うよ。
C や C++ みたい (いわゆるシステム記述言語) なことを安全にやれるように更地から設計しなおそうという試みの中では Rust は比較的よいと思うよ。
118デフォルトの名無しさん
2022/12/15(木) 23:23:09.65ID:GGhsuwM3119デフォルトの名無しさん
2022/12/15(木) 23:37:14.28ID:wuh/WyJD LinkedListってなんで使われないんですか?
VecDequeのほうが性能いいの?
VecDequeのほうが性能いいの?
120デフォルトの名無しさん
2022/12/16(金) 01:36:50.79ID:2he3/3ZS >>119 性能いいことが多いからじゃないかな。
https://www.stroustrup.com/Software-for-infrastructure.pdf
> ... Consider a simple example: generate N random integers and insert
> them into a sequence so that ...
> Now, for which N is it better to use a linked list than a
> vector (or an array) to represent the sequence? ...
> ... When I ran the experiment on my 8-Gbyte laptop, I found N to be much
> larger than 500,000. ...
https://www.stroustrup.com/Software-for-infrastructure.pdf
> ... Consider a simple example: generate N random integers and insert
> them into a sequence so that ...
> Now, for which N is it better to use a linked list than a
> vector (or an array) to represent the sequence? ...
> ... When I ran the experiment on my 8-Gbyte laptop, I found N to be much
> larger than 500,000. ...
121デフォルトの名無しさん
2022/12/16(金) 01:45:46.48ID:qUkmAe13 言語仕様はまあいんだろうけどライブラリがうんこっこ
122デフォルトの名無しさん
2022/12/16(金) 02:56:52.27ID:3ITpan43 自演か軍団かどうでも良いが纏めるぞ
>>112
息を吐く様に嘘を混ぜるのはよせ
猫も杓子も...←ウソ シンプルに分かりやすいウソ
在りし日の...←ウソ 今も昔もJava/C++の時代 + JS/Python/C#
https://i.imgur.com/xwnzvYQ.png
>>117
大人しくしてれば良いものを、そのキャラまたどぶに捨てるのか
もう終わりだよ、そのコテハン
>>117,119-121
話題のすり替え方が雑になってワンパターン
>>112
息を吐く様に嘘を混ぜるのはよせ
猫も杓子も...←ウソ シンプルに分かりやすいウソ
在りし日の...←ウソ 今も昔もJava/C++の時代 + JS/Python/C#
https://i.imgur.com/xwnzvYQ.png
>>117
大人しくしてれば良いものを、そのキャラまたどぶに捨てるのか
もう終わりだよ、そのコテハン
>>117,119-121
話題のすり替え方が雑になってワンパターン
123デフォルトの名無しさん
2022/12/16(金) 06:42:28.75ID:2Krh7+9V124デフォルトの名無しさん
2022/12/16(金) 07:28:20.01ID:YV6XWhOF >>122のデータ面白い
例えば、0.4%以下集団の慎ましさがまるで違う
Swift/Kotlin/Dart→分野に特化して第一候補、安泰
(モバイルアプリ開発は全体の中では小さいパイだけど)
Rust→システムの低レイヤー分野に特化すれば良いのに、
各方面のスキマ案件や非典型案件で、置き換え風潮だとか
吹聴するから、そこのメインストリームから反感買う
焦り過ぎ
例えば、0.4%以下集団の慎ましさがまるで違う
Swift/Kotlin/Dart→分野に特化して第一候補、安泰
(モバイルアプリ開発は全体の中では小さいパイだけど)
Rust→システムの低レイヤー分野に特化すれば良いのに、
各方面のスキマ案件や非典型案件で、置き換え風潮だとか
吹聴するから、そこのメインストリームから反感買う
焦り過ぎ
125デフォルトの名無しさん
2022/12/16(金) 07:48:14.80ID:iwbHqI4G 得意分野、スキマ案件や非典型案件、全部集めて0.30%
Rust全然キテないじゃん
Rust全然キテないじゃん
126デフォルトの名無しさん
2022/12/16(金) 08:03:19.06ID:ECVECWXD 無名の謎言語よりも強いぞ
127デフォルトの名無しさん
2022/12/16(金) 08:08:17.97ID:pYrl9qIa Rustもすぐに一巡して新規消滅まっしぐら
無名の謎言語と競うことに
どうしてこうなった?ry
無名の謎言語と競うことに
どうしてこうなった?ry
128デフォルトの名無しさん
2022/12/16(金) 11:56:22.77ID:7LaXToxn >>119
LinkedListがフィットするユースケースが少ないから
LRUキャッシュをHashMap+LinkedListで実装する時みたいにランダムインサート/デリートがメインでリストを高速に走査する必要がない場合に使われる
LinkedListがフィットするユースケースが少ないから
LRUキャッシュをHashMap+LinkedListで実装する時みたいにランダムインサート/デリートがメインでリストを高速に走査する必要がない場合に使われる
129デフォルトの名無しさん
2022/12/16(金) 14:41:11.47ID:mVtvcCjK TypeScriptでお馴染みのPrismaってRustでも使えるんか
130デフォルトの名無しさん
2022/12/16(金) 15:24:01.50ID:qfpmvh4y >>129
元々Rustで作ったバイナリをJSでラップしただけのライブラリだった
元々Rustで作ったバイナリをJSでラップしただけのライブラリだった
131デフォルトの名無しさん
2022/12/16(金) 17:29:26.91ID:dpgra0Sg132デフォルトの名無しさん
2022/12/16(金) 18:47:30.36ID:2he3/3ZS >>131 嘘つくのやめてもらっていいですか。
https://www.google.com/search?q=vector+list で
いま2位に出たこれ↓見ても引用と併せて「ほとんどvector」って言ってる人が少なくとも二人いる。
https://ja.stackoverflow.com/a/6008
> 大抵のケースでは vector<T> 利用で十分かと思います。(Tは要素の型)
> Scott Meyers, "Effective STL" でも、Item 1で次の言及があります
>> vector is the type of sequence that should be used by default.
俺も言うし>>128も言ってそう。
https://www.google.com/search?q=vector+list で
いま2位に出たこれ↓見ても引用と併せて「ほとんどvector」って言ってる人が少なくとも二人いる。
https://ja.stackoverflow.com/a/6008
> 大抵のケースでは vector<T> 利用で十分かと思います。(Tは要素の型)
> Scott Meyers, "Effective STL" でも、Item 1で次の言及があります
>> vector is the type of sequence that should be used by default.
俺も言うし>>128も言ってそう。
133デフォルトの名無しさん
2022/12/16(金) 19:52:47.31ID:P/cVRczV LinkedListがいいとかVectorがいいとかじゃなく適材適所やろ
134はちみつ餃子 ◆8X2XSCHEME
2022/12/16(金) 20:14:33.69ID:nhvY9+vf >>133
適材適所なのは前提として承知の上で「vector が適材である場所が多い」という話だろ。
適材適所なのは前提として承知の上で「vector が適材である場所が多い」という話だろ。
135デフォルトの名無しさん
2022/12/16(金) 21:44:58.60ID:6DlWbXOy vectorはメモリが並んでるからキャッシュヒット率が高くて速いって教わった
C++だと裏で追加したときにreallocされて参照が切れるリスクがあるけど
Rustだと一応安全だし
C++だと裏で追加したときにreallocされて参照が切れるリスクがあるけど
Rustだと一応安全だし
136デフォルトの名無しさん
2022/12/16(金) 21:55:52.92ID:k9rJal3H >>122
まず長文を嫌って端折ったのが悪かった、ごめん
Java/C++の在りし日ってのは、特にJavaなんだけど、JavaでGUIデスクトップアプリ作ったりアプレットでフロントをやってた時代の雰囲気と、Rustでwasmフロントやってたり、tauriがイケてる!GUIの決定版!みたいに言ってる奴が似てるなって思ったのよ
WEB全盛の昨今これらは趣味レベルでしかないので数字には出ないし、当然Rustコミュニティやプロダクト全般の事について言ったわけじゃないので"一部"と書いたんだけど、Rustaceanの一部ではなくプログラマコミュニティないし業界の一部とも読めてしまうね
これもごめんなさい
まず長文を嫌って端折ったのが悪かった、ごめん
Java/C++の在りし日ってのは、特にJavaなんだけど、JavaでGUIデスクトップアプリ作ったりアプレットでフロントをやってた時代の雰囲気と、Rustでwasmフロントやってたり、tauriがイケてる!GUIの決定版!みたいに言ってる奴が似てるなって思ったのよ
WEB全盛の昨今これらは趣味レベルでしかないので数字には出ないし、当然Rustコミュニティやプロダクト全般の事について言ったわけじゃないので"一部"と書いたんだけど、Rustaceanの一部ではなくプログラマコミュニティないし業界の一部とも読めてしまうね
これもごめんなさい
137デフォルトの名無しさん
2022/12/16(金) 23:54:59.70ID:b2g/f5EB >>132
ここにいるやつらは データ構造とアルゴリズム からやり直したほうがいいんじゃないか?
何を持って早い?っていってるんだ?
queueを実装するのにvector使うやつは愚か者だし
ソートするデータにlinked list使うやつも変なやつ
たいていVectorでOKとかいうのは脳みそ停止してる。ちゃんと考えるべき。
linked listは中間にデータをいれるとか、要素を取り除くのが得意なだけ。
普通に適材適所だろ?
ここにいるやつらは データ構造とアルゴリズム からやり直したほうがいいんじゃないか?
何を持って早い?っていってるんだ?
queueを実装するのにvector使うやつは愚か者だし
ソートするデータにlinked list使うやつも変なやつ
たいていVectorでOKとかいうのは脳みそ停止してる。ちゃんと考えるべき。
linked listは中間にデータをいれるとか、要素を取り除くのが得意なだけ。
普通に適材適所だろ?
138デフォルトの名無しさん
2022/12/17(土) 00:08:08.60ID:VEec8B0L まずお前はアルゴリズムうんぬんの前に日本語からやり直せ
はちみつの割にはまともなこと言ってる
> 適材適所なのは前提として承知の上で「vector が適材である場所が多い」という話だろ。
あとqueueの実装にvector使うのは別に変じゃない、リングバッファも知らんのか?
はちみつの割にはまともなこと言ってる
> 適材適所なのは前提として承知の上で「vector が適材である場所が多い」という話だろ。
あとqueueの実装にvector使うのは別に変じゃない、リングバッファも知らんのか?
139デフォルトの名無しさん
2022/12/17(土) 00:12:22.66ID:QKb/ZQVv140デフォルトの名無しさん
2022/12/17(土) 01:03:01.35ID:7EPFyoxp >>120
その記事で、Stroustrup氏は、非常に特殊な例で実験しているように思える。
最初から明らかにvectorに有利、LinkedListに不利な実験。
これは最初からLinkedListに不利なことが脳内でも分かるので、
それが分からないとしたらstroustrup氏は想像力が不足している。
Stroupstrup氏本人は難しくて理由が分からない、みたいに思ってるらしい。
その記事で、Stroustrup氏は、非常に特殊な例で実験しているように思える。
最初から明らかにvectorに有利、LinkedListに不利な実験。
これは最初からLinkedListに不利なことが脳内でも分かるので、
それが分からないとしたらstroustrup氏は想像力が不足している。
Stroupstrup氏本人は難しくて理由が分からない、みたいに思ってるらしい。
141デフォルトの名無しさん
2022/12/17(土) 01:08:13.28ID:7EPFyoxp142デフォルトの名無しさん
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
の不得意分野だから。
[補足]
コンテナ内に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
の不得意分野だから。
143デフォルトの名無しさん
2022/12/17(土) 01:26:25.05ID:7EPFyoxp >>142
[補足2]
リンクトリストとvectorで、条件を満たす1個の要素を線形探索で探す時に
かかる時間は、共に O(N)で、オーダー的には同じ。
ところが、彼の実験の場合、(均等確率の完全に近い)乱数で要素の追加される
場所と追加される順序が強くランダムになるようにしている。
この条件だと、途中結果の集合を線形探索する時、vectorは、
要素のアドレスが連続しているのでキャッシュの先読み(prefetch)がよく聞くが、
LinkedListは、アドレスが強くランダムになるので、キャッシュの先読みが
上手く働かず、1個の要素当り、現在のCPUで、80クロックほどのレイテンシーが
発生してしまう。
つまり、この実験においては、要素追加の場所をランダムにしているせいで、
要素を巡る際に、
vectorは、メモリーリードの追加レイテンシーが0に近い。
LinkedListは、メモリーリードの追加レイテンシーが80クロック程度かかる。
[補足2]
リンクトリストとvectorで、条件を満たす1個の要素を線形探索で探す時に
かかる時間は、共に O(N)で、オーダー的には同じ。
ところが、彼の実験の場合、(均等確率の完全に近い)乱数で要素の追加される
場所と追加される順序が強くランダムになるようにしている。
この条件だと、途中結果の集合を線形探索する時、vectorは、
要素のアドレスが連続しているのでキャッシュの先読み(prefetch)がよく聞くが、
LinkedListは、アドレスが強くランダムになるので、キャッシュの先読みが
上手く働かず、1個の要素当り、現在のCPUで、80クロックほどのレイテンシーが
発生してしまう。
つまり、この実験においては、要素追加の場所をランダムにしているせいで、
要素を巡る際に、
vectorは、メモリーリードの追加レイテンシーが0に近い。
LinkedListは、メモリーリードの追加レイテンシーが80クロック程度かかる。
144デフォルトの名無しさん
2022/12/17(土) 01:27:47.24ID:QKb/ZQVv >>140-141
そういう極端な解釈や誤解を解くためと思われる FAQ が置いてある。
https://www.stroustrup.com/bs_faq.html#list
まずはこれを読んで、それでもなにか異論を唱えたいならこの中のどの部分についての異論なのか、
自身の主張がどう違うのか明らかにするように。
そういう極端な解釈や誤解を解くためと思われる FAQ が置いてある。
https://www.stroustrup.com/bs_faq.html#list
まずはこれを読んで、それでもなにか異論を唱えたいならこの中のどの部分についての異論なのか、
自身の主張がどう違うのか明らかにするように。
145デフォルトの名無しさん
2022/12/17(土) 01:33:08.88ID:7EPFyoxp146デフォルトの名無しさん
2022/12/17(土) 01:36:35.34ID:7EPFyoxp この分野は、専門家かどうかより、生まれつきの頭の良さがものを言う。
彼ははっきり行って、計算速度の見積もりにおいては才能が無い。
彼が評価されるべきは、
誰もオブジェクト指向を知らない時にSimulaのようなオブジェクト指向言語を
知っていて、それをCに応用したというだけ。
vectorやLinkedListの速度に関しては彼は間違っている。
彼ははっきり行って、計算速度の見積もりにおいては才能が無い。
彼が評価されるべきは、
誰もオブジェクト指向を知らない時にSimulaのようなオブジェクト指向言語を
知っていて、それをCに応用したというだけ。
vectorやLinkedListの速度に関しては彼は間違っている。
147デフォルトの名無しさん
2022/12/17(土) 01:38:43.69ID:7EPFyoxp 「測定無しで語らないで下さい」
というのも理論を軽視している学者の典型例。
日本でも物凄く多い。
自分が理論を正しく理解できて無いから、テストしないと見積もることが出来ないだけ。
というのも理論を軽視している学者の典型例。
日本でも物凄く多い。
自分が理論を正しく理解できて無いから、テストしないと見積もることが出来ないだけ。
148デフォルトの名無しさん
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
俺は、これを数秒間で導いたから、ケアレスミスが含まれるかもしれない。
この実験において、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
俺は、これを数秒間で導いたから、ケアレスミスが含まれるかもしれない。
149デフォルトの名無しさん
2022/12/17(土) 01:50:24.83ID:7EPFyoxp >>148
[ミス訂正]
a1 = 0.5 * L
a2 = 0.5 * (L + 80)
L = ループ一回当りのマシン語レベルでの見た目のクロック数。
0.5 を掛けているのは、1回の線形探索において、
平均移動回数が (N / 2) 回と推定されるから。
まだ、ケアレスミスがあるかもしれない。
[ミス訂正]
a1 = 0.5 * L
a2 = 0.5 * (L + 80)
L = ループ一回当りのマシン語レベルでの見た目のクロック数。
0.5 を掛けているのは、1回の線形探索において、
平均移動回数が (N / 2) 回と推定されるから。
まだ、ケアレスミスがあるかもしれない。
150デフォルトの名無しさん
2022/12/17(土) 02:27:39.08ID:QKb/ZQVv すごいな。0点回答じゃん。
今後のため、ぜひコテハン頼む。
今後のため、ぜひコテハン頼む。
151デフォルトの名無しさん
2022/12/17(土) 02:32:26.93ID:tahIU/4X152デフォルトの名無しさん
2022/12/17(土) 02:49:00.46ID:k1W2kl1x >>150
ID:7EPFyoxp = はちみつがはちみつ搾り取った後の残りカス
ID:7EPFyoxp = はちみつがはちみつ搾り取った後の残りカス
153デフォルトの名無しさん
2022/12/17(土) 03:25:53.37ID:sANdR5x8 100点おじさん頭悪いのは知ってたけどさすがにここまでとは思ってなかった
文章読解力に難があり過ぎ
文章読解力に難があり過ぎ
154デフォルトの名無しさん
2022/12/17(土) 07:25:20.60ID:jr3rWKyM155デフォルトの名無しさん
2022/12/17(土) 08:32:26.89ID:4FUmGBLH Stroustrupもオジ
156デフォルトの名無しさん
2022/12/17(土) 09:13:23.75ID:FhlO/q3l 適材適所にオジ
157デフォルトの名無しさん
2022/12/17(土) 09:40:37.34ID:7jrYNUaI158デフォルトの名無しさん
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倍)
Rustの0.30%には流石にがっかりきた
比率からして既に一巡したんだと思う
Java vs Scala(JVM, 17.5%/0.47% => 何巡もして37倍)
C/C++ vs Rust(Native, 8.24%/0.30% => 一巡目で27倍)
159デフォルトの名無しさん
2022/12/17(土) 10:51:59.45ID:Qk229x0R OSに依存しないライブラリの行数は、Android全体の行数で割り算できない
これが割り算のカラクリか
これが割り算のカラクリか
160デフォルトの名無しさん
2022/12/17(土) 12:18:07.73ID:Wsp+a048 フロントエンドのちゃらい流行り廃りを追いかけ続けるのに疲れて
早めにバックエンドに転向したいと目論んでいた筋にとっとは
Rustは無駄だと思い知ったことだろう
GoやっとけよGo
早めにバックエンドに転向したいと目論んでいた筋にとっとは
Rustは無駄だと思い知ったことだろう
GoやっとけよGo
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 働いて参ります
- ( ・᷄ὢ・᷅ )あ?
- 地震
- こんぺこ!こんぺこ!こんぺこ!🐰🏡
- 早大名誉教授「高市内閣の高支持率はデータ操作か、支持している日本人がアホなのか」👈核心を突いてしまう [868050967]
- ブタをぶったたく
