現在、最新のマシンはすべてマルチコアであり、SSE 命令を使用して Windows および Linux ボックスで SIMD 命令をサポートしています。たとえば、C/C++ コードでマージ ソートに切り替えて、QuickSort を忘れる必要がありますか? 理論的には、これを行う理由は、マージソートがより適切に並列化し、メモリ/ディスクをより控えめに使用するため、QuickSort のメモリ集約型操作よりも高速になるためですが、私にはわかりません。実際の経験は何を示していますか?
何かをソートするたびにプロファイリングしてテストする必要はありません。1つの標準的なアプローチを使用したい。現在、そのアプローチは QuickSort です。これは、デフォルトのライブラリ ソート ルーチンであるためです。MergeSort に切り替えて、その切り替えによってより良い結果を経験した人が他にいるかどうか知りたいです。
アップデート - - - - - -
Graham.Reeds の回答は、実際には std::sort と std::stable_sort の間のパフォーマンスのギャップはどのくらい大きいですか? 上記の私の推測が正しく、MergeSort/stablesort への切り替えが正しい可能性があることを示しています。