他の関数またはループ内にラムダを構築するときにパフォーマンスの問題はありますか?

johnnyodonnell

JavaScriptでは、クロージャが必要ない場合は、スクリプトのパフォーマンスに悪影響を与えるため、関数を他の関数内に作成しないことをお勧めします。JavaScriptでは、ループ内に関数を作成するときに、これと同じ懸念が当てはまります。同じ懸念がC ++ラムダにも当てはまりますか?

たとえば、これら2つの機能の間にパフォーマンスの違いはありますか。

int f1(vector<int> v) {
    for_each(v.begin(), v.end(), [](int i) { cout << i << endl; });
}

auto print_int = [](int i) { cout << i << endl; };
int f2(vector<int> v) {
    for_each(v.begin(), v.end(), print_int);
}

はい、これらの懸念はC ++に当てはまりf2f1;よりもパフォーマンスが向上すると思います。しかし、私は明確な答えを見つけることができませんでした。

JVApen

いいえ、はい。

単純なラムダの場合、それは問題ではありません。これは、ラムダがoperator()を持つクラスの単純な省略形であるためです。

関連する要素は、クラスにコンストラクターがあることです。想像してみてください:

std::map<std::string, std::string> m = create();
auto lambda = [m]() { /* code */ };

変更できないはずの多くの文字列をコピーするため、このキャプチャをループで実行しても意味がありません。この場合、参照によるキャプチャも意味があります。

私のアドバイスは次のとおりです。他のすべてのクラスと同じようにします。構築するのが難しい場合は、論理的な場所に配置してください。構築に費用がかかる場合は、なぜそれほど費用がかかるのかを考え、可能な場合は移動することを検討してください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Windowsベースのラップトップにubuntuをインストールした場合、パフォーマンスの問題はありますか?

分類Dev

DB処理のために非同期関数を分割するパフォーマンスの問題はありますか?

分類Dev

タブ付きページの変数を共有する方法としてオブジェクトを複数のページに渡すことに関して、パフォーマンスやコーディングの問題はありますか?

分類Dev

PostgreSQLでは、citextのパフォーマンスに関する奇妙な問題はありますか?

分類Dev

同じ共有ネットワークフォルダーとの間でZIP / RARアーカイブを抽出するときにパフォーマンスの問題はありますか?

分類Dev

パンダのiterrowsにはパフォーマンスの問題がありますか?

分類Dev

jQueryで動的CSSを追加する際にパフォーマンスの問題はありますか?

分類Dev

関数を静的関数に変更するパフォーマンス上の理由はありますか?

分類Dev

Blochのビルダーパターンを使用したことによるメモリとパフォーマンスの影響はありますか?

分類Dev

属性とクラスに関してパフォーマンス(またはその他)の違いはありますか?

分類Dev

大量に使用するSKActionsの明らかなパフォーマンスの問題はありますか?

分類Dev

大量に使用するSKActionsの明らかなパフォーマンスの問題はありますか?

分類Dev

PHP Composerで、現在のプラットフォームまたはフレームワークと互換性のある最新バージョンのパッケージをインストールするように依存関係を構成します

分類Dev

'max'関数とグループ化(集計操作のパフォーマンス最適化)に代わるものはありますか?

分類Dev

Rustでローカル関数を使用することによるパフォーマンスへの悪影響はありますか?

分類Dev

2つのアプローチにはどのようなメモリ(またはパフォーマンス)の問題がありますか?

分類Dev

オブジェクト指向のコード構造に移行することなく、スクリプト内の多くの関数に多くのパラメーターを渡すためのよりクリーンな方法はありますか?

分類Dev

.NETのブロックレベルと関数レベルのスコープにパフォーマンスへの影響はありますか?

分類Dev

ブロック内の値のグループの位置によって大きなデータフレームにインデックス(数値または文字ID)列を追加するためのR関数はありますか?

分類Dev

表示なしによるパフォーマンスの問題はありますか?

分類Dev

表示なしによるパフォーマンスの問題はありますか?

分類Dev

forループとfor-eachループの間にパフォーマンスの違いはありますか?

分類Dev

未使用のデータをPython関数に渡す:パフォーマンスの低下はありますか?

分類Dev

JavaScript:構築された「ラッパー」内のコンストラクターインスタンスのネストに問題がありますか?

分類Dev

if / else条件を交換するときのパフォーマンスに違いはありますか?

分類Dev

Expressでは、ルート内と外部でモジュールを要求することの間にパフォーマンスの違いがありますか?

分類Dev

ユーザースペースが32ビットであっても、カーネルを64ビットとして構築することによるパフォーマンス上の利点はありますか?

分類Dev

並列化されたランダムフォレストの構築中に進行状況を追跡する方法はありますか?

分類Dev

Sidekiqアダプターを備えたActiveJobには、純粋なSidekiqワーカーに対するパフォーマンスの問題がありますか?

Related 関連記事

  1. 1

    Windowsベースのラップトップにubuntuをインストールした場合、パフォーマンスの問題はありますか?

  2. 2

    DB処理のために非同期関数を分割するパフォーマンスの問題はありますか?

  3. 3

    タブ付きページの変数を共有する方法としてオブジェクトを複数のページに渡すことに関して、パフォーマンスやコーディングの問題はありますか?

  4. 4

    PostgreSQLでは、citextのパフォーマンスに関する奇妙な問題はありますか?

  5. 5

    同じ共有ネットワークフォルダーとの間でZIP / RARアーカイブを抽出するときにパフォーマンスの問題はありますか?

  6. 6

    パンダのiterrowsにはパフォーマンスの問題がありますか?

  7. 7

    jQueryで動的CSSを追加する際にパフォーマンスの問題はありますか?

  8. 8

    関数を静的関数に変更するパフォーマンス上の理由はありますか?

  9. 9

    Blochのビルダーパターンを使用したことによるメモリとパフォーマンスの影響はありますか?

  10. 10

    属性とクラスに関してパフォーマンス(またはその他)の違いはありますか?

  11. 11

    大量に使用するSKActionsの明らかなパフォーマンスの問題はありますか?

  12. 12

    大量に使用するSKActionsの明らかなパフォーマンスの問題はありますか?

  13. 13

    PHP Composerで、現在のプラットフォームまたはフレームワークと互換性のある最新バージョンのパッケージをインストールするように依存関係を構成します

  14. 14

    'max'関数とグループ化(集計操作のパフォーマンス最適化)に代わるものはありますか?

  15. 15

    Rustでローカル関数を使用することによるパフォーマンスへの悪影響はありますか?

  16. 16

    2つのアプローチにはどのようなメモリ(またはパフォーマンス)の問題がありますか?

  17. 17

    オブジェクト指向のコード構造に移行することなく、スクリプト内の多くの関数に多くのパラメーターを渡すためのよりクリーンな方法はありますか?

  18. 18

    .NETのブロックレベルと関数レベルのスコープにパフォーマンスへの影響はありますか?

  19. 19

    ブロック内の値のグループの位置によって大きなデータフレームにインデックス(数値または文字ID)列を追加するためのR関数はありますか?

  20. 20

    表示なしによるパフォーマンスの問題はありますか?

  21. 21

    表示なしによるパフォーマンスの問題はありますか?

  22. 22

    forループとfor-eachループの間にパフォーマンスの違いはありますか?

  23. 23

    未使用のデータをPython関数に渡す:パフォーマンスの低下はありますか?

  24. 24

    JavaScript:構築された「ラッパー」内のコンストラクターインスタンスのネストに問題がありますか?

  25. 25

    if / else条件を交換するときのパフォーマンスに違いはありますか?

  26. 26

    Expressでは、ルート内と外部でモジュールを要求することの間にパフォーマンスの違いがありますか?

  27. 27

    ユーザースペースが32ビットであっても、カーネルを64ビットとして構築することによるパフォーマンス上の利点はありますか?

  28. 28

    並列化されたランダムフォレストの構築中に進行状況を追跡する方法はありますか?

  29. 29

    Sidekiqアダプターを備えたActiveJobには、純粋なSidekiqワーカーに対するパフォーマンスの問題がありますか?

ホットタグ

アーカイブ