それでは実際のコードを見てみましょう。});}}}実はこの処理のままだと遅くなります。ここでちょっとだけ最適化を考えます。ポップしてすぐif文を実行してはじかれてしまったらプッシュした意味がなくなります。そこで、pushする前にif文で判定するのです。C++の言語の問題ですが、std::stackは標準で内部のデータ構造にstd::dequeを用います。dequeは両端キューと呼ばれるものですが、先頭への追加を考えるとvectorよりも速いです。ところが、stackは末尾に追加したり末尾から取ってくるデータ構造ですから、そもそも先頭に挿入することがありません。従って、このデータ構造ではなくstd::vectorを用いると速くなります。(なぜdequeなのかは知りません!)もろもろ改善したコードは次の通りです。});}}}次のコードで計測してみました。WindowsTimerクラスは自作の計測クラスで、内部でWin32APIのQueryPerformanceCounterを使っています。0;}結果はどちらも同じくらいになりました。固定長メモリプールを再び作った。share...2015-05-30C++AMPお久し振りです。2</int,>...2015-01-30vectorとarrayをつかうどちらも当然引数に渡すとコピーされる。func(...2015-01-253項演算子とラムダ式こういうときってよくあります。)はてなブログをはじめよう!staryoshiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。