liarsdice::performance namespace

Performance optimization utilities.

The performance namespace contains optimization tools:

  • SIMD operations using boost.simd
  • Custom memory allocators with boost::pool
  • Performance profiling utilities
  • Cache-efficient algorithms
  • Memory usage tracking

Namespaces

namespace allocators
Specialized allocators for game components.

Classes

template<typename T, std::size_t BlockSize = 32>
class FastPoolAllocator
Fast pool allocator for small objects.
template<typename T>
class GameObjectPool
Object pool for game state objects.
class MemoryArena
Memory arena for temporary allocations.
class MemoryTracker
Memory usage tracker.
template<typename T = float>
class SimdDiceProbability
SIMD-optimized dice probability calculations.
template<typename T = float>
class SimdOperations
SIMD-accelerated operations using xsimd.
template<typename Allocator>
class TrackedAllocator
Tracked allocator wrapper.

Typedefs

template<typename T, std::size_t Alignment = 32>
using SimdAllocator = boost::alignment::aligned_allocator<T, Alignment>
SIMD-aligned allocator for vectorized operations.
template<typename T, std::size_t Align = xsimd::default_arch::alignment()>
using aligned_allocator = xsimd::aligned_allocator<T, Align>

Typedef documentation

template<typename T, std::size_t Alignment = 32>
using liarsdice::performance::SimdAllocator = boost::alignment::aligned_allocator<T, Alignment>

SIMD-aligned allocator for vectorized operations.

Template parameters
T Type to allocate
Alignment Alignment requirement (default: 32 bytes for AVX)

Ensures memory alignment for optimal SIMD performance.

template<typename T, std::size_t Align = xsimd::default_arch::alignment()>
using liarsdice::performance::aligned_allocator = xsimd::aligned_allocator<T, Align>