>>549
あなたの誘導に沿って説明しよう。
要素の型をTYPEとすると、要素の1つのバイト数を、E=sizeof(TYPE)であり、
それが、x 個ある場合を考える。
L(x) = H1 + x * (E + P * 2) // list に必要なバイト数
V(x) = H2 + x * E * 1.5 // vector に必要なバイト数
となっている。
P は、ポインタ1つ当りのバイト数であり、Windows の 32BIT モードの時は、4 である。
これらの関数は、どちらも n に対する1次関数で、
グラフにすると、傾きはそれぞれ、
a_L = E + P * 2 // list の必要バイト数の傾き
= E + 8
a_V = 1.5 * E // vector の必要バイト数の傾き
だ。
要素1つ辺りのサイズ E が十分大きい場合、たとえば、100バイトの時を考えれば、
a_L = 100 + 8 = 108
a_V = 1.5 * 100 = 150
となる。
だから、V(x)の傾きの方が、L(x) の傾きのよりも大きい。
だから明らかに V(x) の方が効率が悪い事になる。H1, H2 がどんな
値であれ、要素数 x が十分大きい場合にはメモリ効率の良さは
xに対するグラフの傾きで決まる。H1, H2 は、いわゆる「y切片」
を決めるだけで、x が大きい時には影響はなくなっていくから。
探検
C++相談室 part143
■ このスレッドは過去ログ倉庫に格納されています
576デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 23:42:46.34ID:Odxsa8jS0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★4 [ぐれ★]
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★5 [ぐれ★]
- 【速報】高市総理が官邸入り [Hitzeschleier★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 高市内閣「支持」64%「不支持」19% NHK世論調査 ★2 [少考さん★]
- 高市首相「多様なコメの増産を進める」 方針転換への懸念払拭狙いか ★2 [どどん★]
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 巨大地震 [957955821]
- 早く世界滅べ
- 【速報】ぺこーらさん、巨大地震後も配信を続けるwwwwwwwwwwwwwwwww
- 【速報】高市早苗、起床 [779938112]
- お前らはデブ
