vector<string> v; の vを辞書順でソートした場合、string自体はメモリ上に
連続して並ぶが、肝心の文字列バッファは free store 上でバラバラに離れた
位置になるからキャッシュ・ミスし易くなるね。
stroustrup氏はリンクリストがキャッシュミスし易いと言って馬鹿にしていたが、
実際には動的配列(vector)でも大差は無い。
なお、リンクリストでキャッシュミスし易い典型例がソート後の全巡回ループ。
そしてその場合、vectorでもstringのようなメモリ資源ハンドルの場合は
キャッシュミスが免れない。
C++相談室 part162
■ このスレッドは過去ログ倉庫に格納されています
642デフォルトの名無しさん (オイコラミネオ MM7b-VZV0)
2022/12/12(月) 14:55:49.27ID:P0mM9QsZM■ このスレッドは過去ログ倉庫に格納されています
