2

私はqueue<vector<int> >、C++ で書かれた計算集約型の検索アルゴリズムで を使用しています。このデータ構造を、固定サイズの配列を含むキューまたは同様の FIFO 構造に置き換えたいと考えています。C++でこれを行うにはどうすればよいですか?

この置き換えの動機は、実行時間を短縮することです。プロファイリング中に、ベクトルの作成と追加にかなりの時間が費やされていることに気付きました。いくつかの重要なベクトルを固定サイズの配列に置き換えたところ、実行時間が 20 ~ 50% 減少したことが測定されました。したがって、上記の FIFO データ構造のベクトルを置き換えたいと思います。問題のすべてのコードは最も内側のループの一部であるため、実行時の重要な減少に注意してください。

4

1 に答える 1

3

a を使用して、std::queue<std::array<int, N> >求めているものを具体的に示すことができます。各要素が固定サイズの配列であるキュー。

または、実際のデータをキューの外側のバッファーに格納し、ポインター/イテレーターをバッファーを指すように格納することもできます。

于 2013-03-01T21:08:35.047 に答える