Pixie
Loading...
Searching...
No Matches
pixie::Permutation< Index, StorageBits, Fanout, Layout >::MemoryUsage Struct Reference

Requested live storage breakdown, excluding allocator bookkeeping. More...

#include <permutation.h>

Public Attributes

std::size_t blocks = 0
 Leaf count.
 
std::size_t nodes = 0
 Internal node count.
 
std::size_t payload_capacity_bytes = 0
 Packed payload bytes.
 
std::size_t block_metadata_bytes = 0
 Local bookkeeping bytes.
 
std::size_t ordering_tree_bytes = 0
 Untagged node bytes.
 
std::size_t tag_padding_bytes = 0
 Incremental tag bytes.
 
std::size_t facade_bytes = sizeof(Permutation)
 Inline owner bytes.
 
std::size_t total_bytes = sizeof(Permutation)
 Total live bytes.
 

Detailed Description

template<class Index = std::uint64_t, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative>
struct pixie::Permutation< Index, StorageBits, Fanout, Layout >::MemoryUsage

Requested live storage breakdown, excluding allocator bookkeeping.

The five byte categories payload_capacity_bytes, block_metadata_bytes, ordering_tree_bytes, tag_padding_bytes, and facade_bytes are disjoint and sum to total_bytes. Payload includes unused capacity. Tag/padding bytes are incremental over the same untagged layout. Counts exclude preflight peaks and RSS; arithmetic saturates at SIZE_MAX.

Member Data Documentation

◆ block_metadata_bytes

template<class Index = std::uint64_t, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative>
std::size_t pixie::Permutation< Index, StorageBits, Fanout, Layout >::MemoryUsage::block_metadata_bytes = 0

Local bookkeeping bytes.

Excludes payload and tags.

◆ blocks

template<class Index = std::uint64_t, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative>
std::size_t pixie::Permutation< Index, StorageBits, Fanout, Layout >::MemoryUsage::blocks = 0

Leaf count.

Counts live leaf allocations only.

◆ facade_bytes

template<class Index = std::uint64_t, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative>
std::size_t pixie::Permutation< Index, StorageBits, Fanout, Layout >::MemoryUsage::facade_bytes = sizeof(Permutation)

Inline owner bytes.

Includes the embedded tree handle.

◆ nodes

template<class Index = std::uint64_t, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative>
std::size_t pixie::Permutation< Index, StorageBits, Fanout, Layout >::MemoryUsage::nodes = 0

Internal node count.

Excludes leaf allocations.

◆ ordering_tree_bytes

template<class Index = std::uint64_t, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative>
std::size_t pixie::Permutation< Index, StorageBits, Fanout, Layout >::MemoryUsage::ordering_tree_bytes = 0

Untagged node bytes.

Includes their alignment padding.

◆ payload_capacity_bytes

template<class Index = std::uint64_t, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative>
std::size_t pixie::Permutation< Index, StorageBits, Fanout, Layout >::MemoryUsage::payload_capacity_bytes = 0

Packed payload bytes.

Includes unused block capacity.

◆ tag_padding_bytes

template<class Index = std::uint64_t, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative>
std::size_t pixie::Permutation< Index, StorageBits, Fanout, Layout >::MemoryUsage::tag_padding_bytes = 0

Incremental tag bytes.

Includes additional padding.

◆ total_bytes

template<class Index = std::uint64_t, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative>
std::size_t pixie::Permutation< Index, StorageBits, Fanout, Layout >::MemoryUsage::total_bytes = sizeof(Permutation)

Total live bytes.

Saturated sum of disjoint categories.


The documentation for this struct was generated from the following file: