このサブディレクトリーには、書籍のソートのサンプルと実行コード(common/test_sort.cpp) が含まれています。実行コードは、テストと時間計測を行います。
ソートのサンプルが書かれたとき、C++11 はまだ策定中でした。その後、インテル・コンパイラー 12.1 とVisual Studio 2010 コンパイラーでコンパイルされたコードを実行する際、std::move で const 修飾左辺値を使用すべきではないことに気づきました。この問題はここでは修正されており、書籍よりも少ない const 修飾子が少ないことに気づかれるでしょう。std::move を使用していても、C++98 コンパイラーでコンパイルできるはずです。
書籍中のリスト番号 |
ファイル |
説明 |
8.9 |
クイックソートの実装例で使用される共有コード |
|
8.10 |
Cilk Plus による完全再帰の並列クイックソート |
|
8.11 |
Cilk Plus による準再帰の並列クイックソート |
|
8.12 |
TBB による準再帰の並列クイックソート |
|
8.13 |
リスト 8.11 における Cilk Plus のスペース保障を実現したTBB のクイックソート |
書籍中のリスト番号 |
ファイル |
説明 |
13.1 |
シリアルでのマージ |
|
13.2 |
Cilk Plus による並列マージ |
|
13.3 |
TBB による並列マージ。TBB のアルゴリズム全体。書籍では、Cilk Plus との差のみを示しています。 |
|
追加 |
OpenMP による並列マージ |
|
13.4 |
Cilk Plus による並列マージソート |
|
追加 |
TBB による並列マージソート |
|
追加 |
OpenMP による並列マージソート |
書籍中のリスト番号 |
ファイル |
説明 |
14.1 |
サンプルソートの実装例で使用される共有コード |
|
14.2 |
Cilk Plus による bin へのキーのマップ |
|
追加 |
TBB
サンプルソートによる bin へのキーのマップ。リスト 14.2 との違いは、配列表記の代わりに std::fill_n を使用していることです。 |
|
14.3 |
Cilk Plus による並列キー・ビニング. |
|
追加 |
TBB による並列キー・ビニング. |
|
14.4 |
Cilk Plus による再パックとサブソート |
|
追加 |
TBB による再パックとサブソート |
|
14.5 |
Cilk Plus による破壊移動 |