Pixie
Loading...
Searching...
No Matches
pixie::PermutableSequence< T, Storage, StorageBits, Fanout, Layout, ChunkBytes >::MemoryUsage Struct Reference

Explicit live requested-memory breakdown, excluding allocator/RSS. More...

#include <sequence.h>

Public Attributes

std::size_t facade_bytes = sizeof(PermutableSequence)
 Inline owner bytes.
 
std::size_t blocks = 0
 Leaf count.
 
std::size_t nodes = 0
 Node count.
 
std::size_t tree_block_bytes = 0
 Leaf bytes.
 
std::size_t tree_node_bytes = 0
 Node bytes.
 
std::size_t order_bytes = 0
 Indirect ordering bytes.
 
std::size_t packed_capacity_bits = 0
 Packed payload capacity in bits.
 
std::size_t chunks = 0
 Payload chunk count.
 
std::size_t chunk_header_bytes = 0
 Chunk header bytes.
 
std::size_t vector_capacity_bytes = 0
 Payload allocation bytes.
 
std::size_t vector_live_bytes = 0
 Live payload slot bytes.
 
std::size_t vector_slack_bytes = 0
 Unused payload slot bytes.
 
std::size_t total_bytes = sizeof(PermutableSequence)
 Total live bytes.
 

Detailed Description

template<class T = std::uint64_t, ElementStorage Storage = ElementStorage::automatic, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative, std::size_t ChunkBytes = 4096>
struct pixie::PermutableSequence< T, Storage, StorageBits, Fanout, Layout, ChunkBytes >::MemoryUsage

Explicit live requested-memory breakdown, excluding allocator/RSS.

Total is facade_bytes + tree_block_bytes + tree_node_bytes + chunk_header_bytes + vector_capacity_bytes. Other byte/bit fields describe subsets and must not be added again. Facade bytes include the embedded tree and chain handles; chunk headers include each vector object exactly once. Vector capacity includes live slots and slack, with native T alignment. Allocations owned internally by T (for example string buffers) are excluded. Arithmetic saturates at SIZE_MAX; temporary construction/preflight peaks are excluded. This is not an implicit mutation-time statistic.

Member Data Documentation

◆ blocks

template<class T = std::uint64_t, ElementStorage Storage = ElementStorage::automatic, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative, std::size_t ChunkBytes = 4096>
std::size_t pixie::PermutableSequence< T, Storage, StorageBits, Fanout, Layout, ChunkBytes >::MemoryUsage::blocks = 0

Leaf count.

Counts live order-tree leaves.

◆ chunk_header_bytes

template<class T = std::uint64_t, ElementStorage Storage = ElementStorage::automatic, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative, std::size_t ChunkBytes = 4096>
std::size_t pixie::PermutableSequence< T, Storage, StorageBits, Fanout, Layout, ChunkBytes >::MemoryUsage::chunk_header_bytes = 0

Chunk header bytes.

Includes each vector object once.

◆ chunks

template<class T = std::uint64_t, ElementStorage Storage = ElementStorage::automatic, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative, std::size_t ChunkBytes = 4096>
std::size_t pixie::PermutableSequence< T, Storage, StorageBits, Fanout, Layout, ChunkBytes >::MemoryUsage::chunks = 0

Payload chunk count.

Zero for packed storage.

◆ facade_bytes

template<class T = std::uint64_t, ElementStorage Storage = ElementStorage::automatic, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative, std::size_t ChunkBytes = 4096>
std::size_t pixie::PermutableSequence< T, Storage, StorageBits, Fanout, Layout, ChunkBytes >::MemoryUsage::facade_bytes = sizeof(PermutableSequence)

Inline owner bytes.

Includes tree and chain handles.

◆ nodes

template<class T = std::uint64_t, ElementStorage Storage = ElementStorage::automatic, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative, std::size_t ChunkBytes = 4096>
std::size_t pixie::PermutableSequence< T, Storage, StorageBits, Fanout, Layout, ChunkBytes >::MemoryUsage::nodes = 0

Node count.

Counts internal order-tree allocations.

◆ order_bytes

template<class T = std::uint64_t, ElementStorage Storage = ElementStorage::automatic, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative, std::size_t ChunkBytes = 4096>
std::size_t pixie::PermutableSequence< T, Storage, StorageBits, Fanout, Layout, ChunkBytes >::MemoryUsage::order_bytes = 0

Indirect ordering bytes.

Subset of tree bytes; zero packed.

◆ packed_capacity_bits

template<class T = std::uint64_t, ElementStorage Storage = ElementStorage::automatic, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative, std::size_t ChunkBytes = 4096>
std::size_t pixie::PermutableSequence< T, Storage, StorageBits, Fanout, Layout, ChunkBytes >::MemoryUsage::packed_capacity_bits = 0

Packed payload capacity in bits.

Subset; zero indirect.

◆ total_bytes

template<class T = std::uint64_t, ElementStorage Storage = ElementStorage::automatic, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative, std::size_t ChunkBytes = 4096>
std::size_t pixie::PermutableSequence< T, Storage, StorageBits, Fanout, Layout, ChunkBytes >::MemoryUsage::total_bytes = sizeof(PermutableSequence)

Total live bytes.

Saturated sum of disjoint categories.

◆ tree_block_bytes

template<class T = std::uint64_t, ElementStorage Storage = ElementStorage::automatic, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative, std::size_t ChunkBytes = 4096>
std::size_t pixie::PermutableSequence< T, Storage, StorageBits, Fanout, Layout, ChunkBytes >::MemoryUsage::tree_block_bytes = 0

Leaf bytes.

Includes capacity, metadata, and padding.

◆ tree_node_bytes

template<class T = std::uint64_t, ElementStorage Storage = ElementStorage::automatic, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative, std::size_t ChunkBytes = 4096>
std::size_t pixie::PermutableSequence< T, Storage, StorageBits, Fanout, Layout, ChunkBytes >::MemoryUsage::tree_node_bytes = 0

Node bytes.

Includes internal allocation padding.

◆ vector_capacity_bytes

template<class T = std::uint64_t, ElementStorage Storage = ElementStorage::automatic, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative, std::size_t ChunkBytes = 4096>
std::size_t pixie::PermutableSequence< T, Storage, StorageBits, Fanout, Layout, ChunkBytes >::MemoryUsage::vector_capacity_bytes = 0

Payload allocation bytes.

Includes live slots and slack.

◆ vector_live_bytes

template<class T = std::uint64_t, ElementStorage Storage = ElementStorage::automatic, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative, std::size_t ChunkBytes = 4096>
std::size_t pixie::PermutableSequence< T, Storage, StorageBits, Fanout, Layout, ChunkBytes >::MemoryUsage::vector_live_bytes = 0

Live payload slot bytes.

Subset of vector capacity.

◆ vector_slack_bytes

template<class T = std::uint64_t, ElementStorage Storage = ElementStorage::automatic, std::size_t StorageBits = 2048, std::size_t Fanout = 8, LengthLayout Layout = LengthLayout::cumulative, std::size_t ChunkBytes = 4096>
std::size_t pixie::PermutableSequence< T, Storage, StorageBits, Fanout, Layout, ChunkBytes >::MemoryUsage::vector_slack_bytes = 0

Unused payload slot bytes.

Subset of vector capacity.


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