X



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/
48デフォルトの名無しさん
垢版 |
2022/12/12(月) 01:26:05.71ID:gFGRqSRq
コード量、もカラクリ
バグが減った、もカラクリ
こういうそしりになるぞ
49デフォルトの名無しさん
垢版 |
2022/12/12(月) 01:26:34.63ID:gFGRqSRq
全員不本意だろ
2022/12/12(月) 01:30:48.03ID:TQPiS+Fx
>>47
言語間の比較はあるけどプロジェクト独自コードとそれ以外を区別してるようなところあった?
セクション名だけでも良いから教えてよ

あとカラクリ推進派とか変な造語で言われてもわからん
何かのレッテル貼り?
51デフォルトの名無しさん
垢版 |
2022/12/12(月) 01:31:50.90ID:gFGRqSRq
>>50 >何かのレッテル貼り?
カラクリ推進派とはあなたのことですよ
52デフォルトの名無しさん
垢版 |
2022/12/12(月) 01:34:06.61ID:gFGRqSRq
誤認誘発、過剰期待のリスクは無視するべきではない
2022/12/12(月) 01:35:03.87ID:TQPiS+Fx
>>51
ごめんね、何を言ってるかわかってあげられなくて
あと文章の後半だけじゃなくて前半にも反応してほしかったな
流し読みで確認したから見落としあるかもしれないので、原文でおかしなこと言ってるなら把握しておきたい
54デフォルトの名無しさん
垢版 |
2022/12/12(月) 01:36:12.87ID:gFGRqSRq
>変に行間を読み取って
>>50は変に行間を読み取らせようとしてるな
55デフォルトの名無しさん
垢版 |
2022/12/12(月) 01:37:35.10ID:gFGRqSRq
>>53
原文にかいてさえあれば、実態はどうでも良い
という事かな?
2022/12/12(月) 01:38:21.40ID:TQPiS+Fx
>>54
あなたの言う良くない文章は>>50で引用してる部分だけということかな?

>>55
それ以外に何を問題にしているの?
2022/12/12(月) 01:39:08.62ID:TQPiS+Fx
引用してるのは>>50じゃなくて>>35だった
58デフォルトの名無しさん
垢版 |
2022/12/12(月) 01:39:48.77ID:gFGRqSRq
>>56
カラクリ推進派=翻訳従事者関係者 ?
59デフォルトの名無しさん
垢版 |
2022/12/12(月) 01:40:20.61ID:gFGRqSRq
実態を大事にしような
2022/12/12(月) 01:43:08.80ID:TQPiS+Fx
AndroidのうちRustコードは1.5M
そのうちAOSP独自コードは0.1M
この話はおわり
61デフォルトの名無しさん
垢版 |
2022/12/12(月) 01:46:10.84ID:gFGRqSRq
>>60
1.5Mがそんなにうれしかったのか?

>そのうちAOSP独自コードは0.1M
これ原文筆者に明記するように言いに行けよ、関係者なんだろ?
62デフォルトの名無しさん
垢版 |
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が重要だと思うから原作者に書けと伝えたら?
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
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
スレのみなさま、ごめんなさい
>>33は正しい
おやすみなさい
84デフォルトの名無しさん
垢版 |
2022/12/12(月) 02:20:53.27ID:gFGRqSRq
そうか、スレ立て人だったか。バイバイ、面白かったよ、別室で頑張ってね
2022/12/12(月) 02:26:04.34ID:na5n8HXk
成果を数値化した側は誤解を招き、リスクを数値化しようともしない側が数学的に優位なのはまあ分かる
3.14よりもπの方が誤解がないのと同じ
86デフォルトの名無しさん
垢版 |
2022/12/12(月) 02:28:14.68ID:gFGRqSRq
あらら、キャラ召喚してるじゃんw
87デフォルトの名無しさん
垢版 |
2022/12/12(月) 02:58:18.77ID:Igq6bqVZ
>>33
今回に関しては全く必要なかった
2つNGにしたら33の次は85にw
複オジじゃないからNGしやすくて助かる
88デフォルトの名無しさん
垢版 |
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って言う大暴投だからな
2022/12/12(月) 06:51:30.97ID:wN/j/0mR
深夜のレスバトルが興味深くなる見方、そして消えぬ複オジ軍団説

普段はまともぶってる放り投げキャラ?>>26がつつかれたら、速攻で複オジが出て来た
とにかく複オジは文書(翻訳)と仕様マウントが大事

放り投げキャラは次世代スレのwasmリソースコストおじ→複数人説

>>77が自演の決定的ボロなのか、あるいは監視引き継ぎミスなのか
引き継ぎミスなら→複数人説

しかも>>85がポエオジという可能性→複数人説
更にレスバトルが複オジじゃないと収拾したい>>87の登場

そういう目で見たらそう見える
2022/12/12(月) 07:35:06.40ID:BKVbG4TJ
>>91
いまいち

ミスではなく>>76が引き継ぎの瞬間で
同一人物を装うために>>77を入れてる
という見立ての方が断然面白いでしょ
2022/12/12(月) 07:35:25.61ID:T7WlM3CT
自称集団ストーカー被害者の供述と同じ
2022/12/12(月) 07:49:30.92ID:0yhb1mCe
引き継いだら即幕引き、その理由は?
>>79-80
でバトルの必要が無いと判断出来た
という見立てのが面白い
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内はダブルカウントが多発している
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)
2022/12/13(火) 23:30:32.49ID:5abcV+yr
相関で言うと、致命的バグが減ったのはGoが増えたおかげ
2022/12/13(火) 23:37:00.82ID:wwjAZKKd
GoはNSA公認の安全志向言語だからね
2022/12/14(水) 01:02:52.63ID:ITXTdsK+
我が軍のリターンと我が軍のリスクを比較するべきで
味方のリターンと競争相手のリターンの差をカイゼンさせようとするのは合理的ではないと思う
2022/12/14(水) 01:14:31.36ID:FVRGSfZv
最初から違和感があると思っていたが
元記事ではGoが何故か除外されてる

ストーリー構成に不都合だったのか
相関だと何とでも言えるんだね
2022/12/14(水) 01:27:29.73ID:yU9uAi27
>>101
良くないね、堂々と数字のカラクリを肯定するとは
2022/12/14(水) 01:56:11.07ID:5mkAA7Tq
>>101 我が軍
こいつ遂に開き直って複おじ複数人疑惑を隠さなくなった
引き継ぎは2時?

裏舞台でこそこそしてろよ、表舞台に出て来るんじゃないぞ
2022/12/14(水) 06:45:32.23ID:RA7cvU7V
>>102
元々C/C++のメモリー障害の話なので低レイヤーで使えないGoを対象外にするのは当たり前だと思うぞ
>>98 の native(C/C++,go,rust,asm) もどう言う根拠でGo入れてるのかよくわからん、Go入れるならJavaが入らない理由を示してほしい
2022/12/14(水) 07:01:51.79ID:Jcr0Ea1q
ストーリーの無い生データを見た実際のところ、バグデータのある期間(~android12)でのRustは高々0.13%しか無い
C++の検証ツール類の活用だったりGo活用だったりの方が圧倒的に貢献していると考えるのが普通
他言語の成果を横取りしてる印象を持ったし、データを見たマの反発を買うのも当然
2022/12/14(水) 07:15:30.66ID:qnQQMcYI
>>105 ...の話なので...
>>105 = 放り投げ常習犯のRustカラクリストーリー君
2022/12/14(水) 07:40:22.86ID:3cYTS+R6
>>106
ほんとこの通りだわ
今回みたいに1.5Mの疑義が出て数字を掘られなければ、メモリバグ削減はRustの成果だと信じ込まされた訳だし、恐ろしいわ
2022/12/14(水) 08:29:54.62ID:RA7cvU7V
>>107
カラクリだと言うならせめて
> >>98 の native(C/C++,go,rust,asm) もどう言う根拠でGo入れてるのかよくわからん、Go入れるならJavaが入らない理由を示してほしい
ぐらいには回答しなよ
2022/12/14(水) 08:46:08.12ID:l9mIlMff
あのね、さすがにもう、原文の脚色を軸にした議論に価値は無い
>>109
Goを蹴落としたいだけの言いがかりになるからやめたほうがいい

1.5Mの数字もちだして来たのどうせ>>105,109なんだろうし、この際言っておくけど、

迷惑でしかない
2022/12/14(水) 12:43:46.50ID:RA7cvU7V
>>110
はい、逃げた~
そもそもここRustスレだから迷惑なのはお前な
2022/12/15(木) 18:34:29.90ID:XGuELYQs
Rust自体は好きで趣味で使ってるんだけど、最近の猫も杓子もRustっていう一部の風潮には、在りし日のC++やJavaが持て囃されていた時代を思い出してしまう時がある
2022/12/15(木) 18:53:18.12ID:4nUn5UbZ
奴隷言語ってことなのかもな
2022/12/15(木) 19:32:12.34ID:eVXaJ4u5
同意。
趣味では楽しく使ってるけど仕事では使いたくないわ。

不具合とか新規要件とか起因で所有権周り軒並みいじる必要が出てきたりしたら泣いちゃう。
2022/12/15(木) 20:01:15.60ID:adPtbWG7
>>112
> 最近の猫も杓子もRustっていう一部の風潮
そんな風潮ホントにあるの?
C/C++の置き換えがメインだから分野はかなり限られそうだが
2022/12/15(木) 21:34:29.95ID:2hO+Mt8T
正解は一つだけのようなことは昔Pythonが標榜していたけど
違反や無視しても棒で殴られたりしなかったので普通に普及した
2022/12/15(木) 21:48:07.72ID:xFKc8Du5
C や C++ が駄目な部分を改定でどうにかしようとしてもツギハギだらけでますますグダグダになるばかり。
C や C++ みたい (いわゆるシステム記述言語) なことを安全にやれるように更地から設計しなおそうという試みの中では Rust は比較的よいと思うよ。
2022/12/15(木) 23:23:09.65ID:GGhsuwM3
>>117
キミは仕事でRust使ってんの?
使ってなさそうな感じを受けたけど
2022/12/15(木) 23:37:14.28ID:wuh/WyJD
LinkedListってなんで使われないんですか?
VecDequeのほうが性能いいの?
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. ...
2022/12/16(金) 01:45:46.48ID:qUkmAe13
言語仕様はまあいんだろうけどライブラリがうんこっこ
2022/12/16(金) 02:56:52.27ID:3ITpan43
自演か軍団かどうでも良いが纏めるぞ

>>112
息を吐く様に嘘を混ぜるのはよせ
猫も杓子も...←ウソ シンプルに分かりやすいウソ
在りし日の...←ウソ 今も昔もJava/C++の時代 + JS/Python/C#
https://i.imgur.com/xwnzvYQ.png

>>117
大人しくしてれば良いものを、そのキャラまたどぶに捨てるのか
もう終わりだよ、そのコテハン

>>117,119-121
話題のすり替え方が雑になってワンパターン
2022/12/16(金) 06:42:28.75ID:2Krh7+9V
>>85=>>112
よく見たら嘘の混ぜ方が完全一致
2022/12/16(金) 07:28:20.01ID:YV6XWhOF
>>122のデータ面白い
例えば、0.4%以下集団の慎ましさがまるで違う

Swift/Kotlin/Dart→分野に特化して第一候補、安泰
(モバイルアプリ開発は全体の中では小さいパイだけど)

Rust→システムの低レイヤー分野に特化すれば良いのに、
各方面のスキマ案件や非典型案件で、置き換え風潮だとか
吹聴するから、そこのメインストリームから反感買う
焦り過ぎ
2022/12/16(金) 07:48:14.80ID:iwbHqI4G
得意分野、スキマ案件や非典型案件、全部集めて0.30%
Rust全然キテないじゃん
2022/12/16(金) 08:03:19.06ID:ECVECWXD
無名の謎言語よりも強いぞ
2022/12/16(金) 08:08:17.97ID:pYrl9qIa
Rustもすぐに一巡して新規消滅まっしぐら
無名の謎言語と競うことに

どうしてこうなった?ry
128デフォルトの名無しさん
垢版 |
2022/12/16(金) 11:56:22.77ID:7LaXToxn
>>119
LinkedListがフィットするユースケースが少ないから

LRUキャッシュをHashMap+LinkedListで実装する時みたいにランダムインサート/デリートがメインでリストを高速に走査する必要がない場合に使われる
2022/12/16(金) 14:41:11.47ID:mVtvcCjK
TypeScriptでお馴染みのPrismaってRustでも使えるんか
2022/12/16(金) 15:24:01.50ID:qfpmvh4y
>>129
元々Rustで作ったバイナリをJSでラップしただけのライブラリだった
2022/12/16(金) 17:29:26.91ID:dpgra0Sg
>>120
LinkedListよりvectorの方が「ほとんどの場合速いからvectorを使うべき」
と言っているのは、Stroustrup氏だけ。
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も言ってそう。
133デフォルトの名無しさん
垢版 |
2022/12/16(金) 19:52:47.31ID:P/cVRczV
LinkedListがいいとかVectorがいいとかじゃなく適材適所やろ
2022/12/16(金) 20:14:33.69ID:nhvY9+vf
>>133
適材適所なのは前提として承知の上で「vector が適材である場所が多い」という話だろ。
2022/12/16(金) 21:44:58.60ID:6DlWbXOy
vectorはメモリが並んでるからキャッシュヒット率が高くて速いって教わった
C++だと裏で追加したときにreallocされて参照が切れるリスクがあるけど
Rustだと一応安全だし
2022/12/16(金) 21:55:52.92ID:k9rJal3H
>>122
まず長文を嫌って端折ったのが悪かった、ごめん
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は中間にデータをいれるとか、要素を取り除くのが得意なだけ。
普通に適材適所だろ?
2022/12/17(土) 00:08:08.60ID:VEec8B0L
まずお前はアルゴリズムうんぬんの前に日本語からやり直せ
はちみつの割にはまともなこと言ってる

> 適材適所なのは前提として承知の上で「vector が適材である場所が多い」という話だろ。

あとqueueの実装にvector使うのは別に変じゃない、リングバッファも知らんのか?
2022/12/17(土) 00:12:22.66ID:QKb/ZQVv
>>137
比較の例は>>120で挙がってるし、「普通に適材適所」を否定してる人も居ないし、
いったい何を見てレスしてるのかわからなくて怖い。
2022/12/17(土) 01:03:01.35ID:7EPFyoxp
>>120
その記事で、Stroustrup氏は、非常に特殊な例で実験しているように思える。
最初から明らかにvectorに有利、LinkedListに不利な実験。
これは最初からLinkedListに不利なことが脳内でも分かるので、
それが分からないとしたらstroustrup氏は想像力が不足している。
Stroupstrup氏本人は難しくて理由が分からない、みたいに思ってるらしい。
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
「測定無しで語らないで下さい」
というのも理論を軽視している学者の典型例。
日本でも物凄く多い。
自分が理論を正しく理解できて無いから、テストしないと見積もることが出来ないだけ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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