リビアナ

libarenaはカスタムメモリアロケータインタフェースと実装です。
今すぐダウンロード

リビアナ ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • MIT/X Consortium Lic...
  • 価格:
  • FREE
  • 出版社名:
  • William Ahern
  • 出版社のWebサイト:
  • http://25thandclement.com/william/projects/zoned.html

リビアナ タグ


リビアナ 説明

Libarenaはカスタムメモリアロケータインタフェースと実装です。 libarenaライブラリは、カスタムメモリ割り当てプログラムインタフェースと実装です。 3つのアロケータが提供されています。フラット "Lifo" Arena Allocator、オブジェクトプール割り当て器、およびmalloc(3)ラッパー。これらは直接、またはエクスポートされたプロトタイプインタフェースを介して使用できます。 Libarenaは、ベースラインインターフェースを提供することを意図しています。そのため、Allocatorの積み重ね、ライブラリやアプリケーションに明確に定義されたインターフェースを提供します。カスタムアロケータが実際に達成できる可能性があることを制限または閉じ込めることは決してありません。たとえば、含まれているプールとArena Allocatorには、一般的なエクスポート可能インターフェイスでは利用できない文字列ユーティリティのスイートが含まれています。ただし、それらは汎用インターフェイス上に構築されています(util.hを参照)。ほとんどmalloc(3)ライブラリ "置換"はコンテキストポインタ引数をサポートしています。代替Malloc(3)を指定する能力が実際に有用である可能性がある多くのタスクの多くには役に立ちません。タスク構造とすべての関連割り当ての一回のショット割り当てネットワークデーモンの場合特にこの機能は便利です。特定のセッションのすべての割り当ては、最低レベルのAllocatorオブジェクトを閉じるだけで解放できます。 Arena AllocatorはGNU障害物と同様に動作します。割り当てが基礎となるバッファよりも逆の順序で解放されると、それに応じて解放されます。順不同の割り当て解除は断片化につながります。 Arena Allocatorはポジションマーキングもサポートしています。任意のインスタンスの状態を格納し、後でアロケータはその状態にリセットされます。後に保存された状態で発生したすべての割り当ては、それらが明示的に割り当てられていた場合に動作します。プール割り当て装置は、固定サイズのバッファのセットのプールを保持します。各バッファサイズは任意です。既存のバケットから満たすことができない割り当ては、新しいバケットを作成することになります。プールに返されたメモリは再利用されます。現在プールは縮小することはありません、成長するだけです。 ArenaまたはPool Allocatorオブジェクトを閉じると、使用されているすべてのメモリは、基盤となるアロケータにリリースされます(インスタント化に渡されたもの、または標準ライブラリーラッパーのデフォルトの `arena_stdlib '。このリリースでは新しいものがあります。再帰的ではなく、これはGNU MakeまたはBSD PMakeのいずれかを使用してビルドしてインストールする必要があります。


リビアナ 関連ソフトウェア