THPDFParserArenaStatistics レコード
パーサー arena アロケータの、ブロック、アロケーション、トークン、エリージョンのテレメトリを報告します
宣言
THPDFParserArenaStatistics= record
BlockSize: Integer;
RetainedBlockCount: Integer;
RetainedBytes: Int64;
PeakUsedBytes: Int64;
AllocationCount: Int64;
BytesRequested: Int64;
BlockAllocationCount: Int64;
ReusedAllocationCount: Int64;
ResetCount: Int64;
TokenCount: Int64;
TemporaryObjectElisionCount: Int64;
end;
ユニット
HPDFDoc
フィールド
| フィールド | 目的 |
|---|---|
BlockSize | 作成時に設定された 1 arena ブロックの容量(既定は 65536) |
RetainedBlockCount | arena が再利用のために現在保持しているブロックの数 |
RetainedBytes | 保持されている全ブロックの容量の合計 |
PeakUsedBytes | セッション中に使用された arena バイト数のピーク |
AllocationCount | arena から供給されたアロケーション要求の数 |
BytesRequested | 全アロケーションで要求された合計バイト数 |
BlockAllocationCount | メモリマネージャから取得した新しいブロックの数 |
ReusedAllocationCount | 既存ブロック内の解放済み空き領域で満たされたアロケーションの数 |
ResetCount | arena マークのロールバックまたは arena のリセットが行われた回数 |
TokenCount | 所有するロードセッションが数えたパーサートークン数。arena の報告後に THotPDF が書き込みます |
TemporaryObjectElisionCount | セッション中に省略(エリージョン)された一時パーサーオブジェクトの数。これも THotPDF が書き込みます |
使用上の注意
- スナップショットは
GetLastParserArenaStatisticsで取得します。アクティブな arena セッションがない場合は false を返し、レコードをゼロで埋めます PeakUsedBytesとRetainedBytesを比べれば、セッション間で arena がどれだけメモリを予約し続けているか判断できますTokenCountとTemporaryObjectElisionCountはセッションカウンタ由来で、BeginParserArenaSessionがゼロにします