ガベージコレクションの影響を軽減する価値はありますか?

ルーム:

メモリプロファイルが次のようになっているアプリケーションがあります。

ジャギー
(ソース:kupio.com

メモリ使用量の上方への遅いクロールは、たくさんの小さくて単純な一時的なオブジェクトの割り当てによって引き起こされます。メモリが少ない状況(これはモバイルアプリです)では、制限の少ないメモリ量と比較すると、GCオーバーヘッドが顕著です。

アプリの性質上、これらのスパイクが発生し続けることがわかっているので、私はある種の多数の一時オブジェクト(素晴らしい名前)のプールを検討していました。これらのオブジェクトは、アプリの存続期間中存続し、可能な限り再利用されます(オブジェクトの存続期間が短く、予測可能性が高い場合)。

うまくいけば、これにより、収集されるオブジェクトの数が減り、パフォーマンスが向上することにより、GCの影響が軽減されます。

「割り当て」の方がコストが高く、キャッシュ自体の維持にオーバーヘッドが生じるため、これにも独自のパフォーマンス制限があります。

これは大量のコードへのかなり大きくて煩わしい変更になるので、誰かが同様のことを試みたのか、それが利点だったのか、またはこのような状況でGCを軽減する他の既知の方法があったのかと思いました。 。再利用可能なオブジェクトのキャッシュを管理する効率的な方法のアイデアも歓迎します。

スカフマン:

通常、これはVMのGCパラメーターを調整し、スパイクを減らすための作業でしたが、モバイルアプリでは実際にはオプションではありません。したがって、使用しているJVmのGC動作を変更できない場合は、昔ながらのオブジェクトプーリングが最善の解決策になる可能性があります。

Apache Commons Poolライブラリはそのために適していますが、これがモバイルアプリの場合は、ライブラリの依存関係のオーバーヘッドが不要な場合があります。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Javaでオブジェクトをnullに割り当てると、ガベージコレクションに影響がありますか?

分類Dev

ガベージコレクションに対するページングの影響は何ですか?

分類Dev

イベントハンドラーはCLRのガベージコレクションに影響します

分類Dev

ガベージコレクションはパフォーマンスに影響しますか?

分類Dev

WebGLTexturesのガベージコレクションはありますか?

分類Dev

ES6 constはガベージコレクションに影響しますか?

分類Dev

ガベージコレクションはソフトウェアの設計に悪影響を及ぼしますか?

分類Dev

紺碧の機能でガベージコレクションを処理する必要がありますか?

分類Dev

Kotlinにガベージコレクションはありますか?

分類Dev

GPUにガベージコレクションはありますか?

分類Dev

Meltdownの軽減は、 `calloc()`のCoW「レイジーアロケーション」と組み合わせて、calloc()に割り当てられたメモリのパフォーマンスへの影響を意味しますか?

分類Dev

Windows 10でWPFアプリケーションの「醜さ」を軽減する方法はありますか?

分類Dev

ガベージコレクションを行うには、サブジェクトを完了する必要がありますか?

分類Dev

ガベージコレクションはリストのリストの値を処理しますか

分類Dev

Javaでフルガベージコレクションをスケジュールする方法はありますか?

分類Dev

Pythonモジュールはガベージコレクションされたことがありますか?

分類Dev

1.5以降でのGolangガベージコレクターの改善は、割り当て解除されるメモリの量に影響しますか?

分類Dev

Javaで積極的かつ完全なガベージコレクションを起動する方法はありますか?

分類Dev

ガベージコレクション-マーク+スイープはモノリシック/アトミックである必要がありますか

分類Dev

Haskellはリスト内のランダムインデックスをガベージコレクションではなく評価できますか?

分類Dev

ガベージコレクションにより、ポインターはGoの値を変更しますか?

分類Dev

Javaで完全なガベージコレクションをトリガーするものは何ですか?

分類Dev

シミュレーションエンジンでノード間の相互作用をモデリングするときに複雑さを軽減する方法はありますか?

分類Dev

オブジェクトはいつガベージコレクションの対象になりますか?

分類Dev

オブジェクトはいつガベージコレクションの対象になりますか?

分類Dev

非同期値がガベージコレクションされるとどうなりますか?

分類Dev

関数を静的コレクションに保存すると、システムにどのような影響がありますか?

分類Dev

コンパイル/評価されたプロシージャのメモリはChezSchemeでガベージコレクションされていますか?

分類Dev

レベル圧縮による低TTL、削除レプリケーションに影響を与えることなく読み取りパフォーマンスを向上させるためにgc_grace_secondsを減らす必要がありますか?

Related 関連記事

  1. 1

    Javaでオブジェクトをnullに割り当てると、ガベージコレクションに影響がありますか?

  2. 2

    ガベージコレクションに対するページングの影響は何ですか?

  3. 3

    イベントハンドラーはCLRのガベージコレクションに影響します

  4. 4

    ガベージコレクションはパフォーマンスに影響しますか?

  5. 5

    WebGLTexturesのガベージコレクションはありますか?

  6. 6

    ES6 constはガベージコレクションに影響しますか?

  7. 7

    ガベージコレクションはソフトウェアの設計に悪影響を及ぼしますか?

  8. 8

    紺碧の機能でガベージコレクションを処理する必要がありますか?

  9. 9

    Kotlinにガベージコレクションはありますか?

  10. 10

    GPUにガベージコレクションはありますか?

  11. 11

    Meltdownの軽減は、 `calloc()`のCoW「レイジーアロケーション」と組み合わせて、calloc()に割り当てられたメモリのパフォーマンスへの影響を意味しますか?

  12. 12

    Windows 10でWPFアプリケーションの「醜さ」を軽減する方法はありますか?

  13. 13

    ガベージコレクションを行うには、サブジェクトを完了する必要がありますか?

  14. 14

    ガベージコレクションはリストのリストの値を処理しますか

  15. 15

    Javaでフルガベージコレクションをスケジュールする方法はありますか?

  16. 16

    Pythonモジュールはガベージコレクションされたことがありますか?

  17. 17

    1.5以降でのGolangガベージコレクターの改善は、割り当て解除されるメモリの量に影響しますか?

  18. 18

    Javaで積極的かつ完全なガベージコレクションを起動する方法はありますか?

  19. 19

    ガベージコレクション-マーク+スイープはモノリシック/アトミックである必要がありますか

  20. 20

    Haskellはリスト内のランダムインデックスをガベージコレクションではなく評価できますか?

  21. 21

    ガベージコレクションにより、ポインターはGoの値を変更しますか?

  22. 22

    Javaで完全なガベージコレクションをトリガーするものは何ですか?

  23. 23

    シミュレーションエンジンでノード間の相互作用をモデリングするときに複雑さを軽減する方法はありますか?

  24. 24

    オブジェクトはいつガベージコレクションの対象になりますか?

  25. 25

    オブジェクトはいつガベージコレクションの対象になりますか?

  26. 26

    非同期値がガベージコレクションされるとどうなりますか?

  27. 27

    関数を静的コレクションに保存すると、システムにどのような影響がありますか?

  28. 28

    コンパイル/評価されたプロシージャのメモリはChezSchemeでガベージコレクションされていますか?

  29. 29

    レベル圧縮による低TTL、削除レプリケーションに影響を与えることなく読み取りパフォーマンスを向上させるためにgc_grace_secondsを減らす必要がありますか?

ホットタグ

アーカイブ