ネタ元>WindowsとC++:高性能アルゴリズムについて調べる
上記の記事を読むと、マルチコアで動作する時、
同じコアで実行するメモリは近くに配置し、
違うコアで実行するメモリは遠くに配置するべき、と書いています。
さて、以前書いたシェアソートの並列動作なのですが、
横ソートにおいては上記のマルチコア動作に向くメモリ配置になっています。
しかし、縦ソートに至っては並列動作に向かないパターンです。
良くないパターンとして紹介されている物と全く同じです。
今回の場合は”#pragma omp parallel for”を使ったものなので
自分でカリカリ内部動作を書いた場合とは違うのかもしれません。
ただ、キャッシュの読み直しという単語がちらほら見えるので、
ハードウェアの仕様のような感じで、ソフトウェア側でどうにかならない気がします。
シェアソートの縦ソートが遅いとなるといよいよ出番もないですね…。
#ということで、教えて詳しい人!