1. ホーム
  2. c++

[解決済み] std::functionのパフォーマンスオーバーヘッドはどのくらいですか?

2023-06-30 07:18:27

質問

あるフォーラムで std::function<> を使用すると、パフォーマンスが低下するとフォーラムで聞きました。それは本当ですか?もし本当なら、それは大きなパフォーマンス低下なのでしょうか?

どのように解決するのですか?

ブーストの参考資料から情報を得ることができます。 boost::functionを介した呼び出しはどの程度のオーバーヘッドが発生しますか? および パフォーマンス

これは、機能向上に対するイエスかノーかを決定するものではありません。プログラムの要件を考えると、パフォーマンスの低下は十分に許容できるかもしれません。多くの場合、プログラムの一部はパフォーマンスクリティカルではありません。その場合でも、許容範囲内かもしれません。これは、あなたが決定することができる唯一のものです。

標準ライブラリ版についてですが、標準ではインターフェイスを定義しているだけです。それを動作させるかどうかは、完全に個々の実装に任されています。boostの関数と似たような実装が使われるのでしょう。