Project
Loading...
Searching...
No Matches
testSlabBumpAllocator.cxx File Reference
#include <boost/test/unit_test.hpp>
#include <algorithm>
#include <cstdint>
#include <limits>
#include <memory_resource>
#include <new>
#include <random>
#include <vector>
#include <oneapi/tbb/task_arena.h>
#include "ITStracking/BoundedAllocator.h"
#include "ITStracking/CapacityEstimator.h"
#include "ITStracking/SlabBumpAllocator.h"

Go to the source code of this file.

Macros

#define BOOST_TEST_MODULE   Test SlabBumpAllocator
 
#define BOOST_TEST_MAIN
 
#define BOOST_TEST_DYN_LINK
 

Functions

 BOOST_AUTO_TEST_CASE (slab_hands_out_disjoint_ranges)
 
 BOOST_AUTO_TEST_CASE (slab_never_exceeds_a_threads_fair_share)
 
 BOOST_AUTO_TEST_CASE (grouped_reproduces_two_pass_layout)
 
 BOOST_AUTO_TEST_CASE (grouped_survives_capacity_underestimate)
 
 BOOST_AUTO_TEST_CASE (grouped_survives_capacity_overestimate)
 
 BOOST_AUTO_TEST_CASE (grouped_keeps_order_across_slab_and_spill_boundaries)
 
 BOOST_AUTO_TEST_CASE (unordered_reproduces_emitted_records)
 
 BOOST_AUTO_TEST_CASE (unordered_survives_capacity_underestimate)
 
 BOOST_AUTO_TEST_CASE (unordered_keeps_records_across_slab_and_spill_boundaries)
 
 BOOST_AUTO_TEST_CASE (unordered_removes_unused_slots)
 
 BOOST_AUTO_TEST_CASE (unordered_does_not_hand_back_an_oversized_buffer)
 
 BOOST_AUTO_TEST_CASE (capacity_is_clamped_to_what_the_pool_can_spare)
 
 BOOST_AUTO_TEST_CASE (capacity_is_split_between_concurrent_sinks)
 
 BOOST_AUTO_TEST_CASE (unordered_survives_a_failed_preallocation)
 
 BOOST_AUTO_TEST_CASE (estimator_cold_start_has_capacity)
 
 BOOST_AUTO_TEST_CASE (estimator_converges_and_reacts_to_overflow)
 
 BOOST_AUTO_TEST_CASE (estimator_does_not_extrapolate_a_low_statistics_ratio)
 
 BOOST_AUTO_TEST_CASE (estimator_reports_a_scale_independent_peak)
 
 BOOST_AUTO_TEST_CASE (estimator_expected_tracks_the_current_input)
 
 BOOST_AUTO_TEST_CASE (estimator_ceiling_follows_real_growth)
 
 BOOST_AUTO_TEST_CASE (estimator_backs_off_when_the_pool_refuses)
 
 BOOST_AUTO_TEST_CASE (estimator_grows_in_proportion_to_the_miss)
 
 BOOST_AUTO_TEST_CASE (estimator_recovers_from_a_single_overflow)
 
 BOOST_AUTO_TEST_CASE (estimator_decay_survives_interleaved_busy_timeframes)
 
 BOOST_AUTO_TEST_CASE (estimator_reset_forgets_inflated_margins)
 
 BOOST_AUTO_TEST_CASE (estimator_keys_separate_the_road_walk_steps)
 

Macro Definition Documentation

◆ BOOST_TEST_DYN_LINK

#define BOOST_TEST_DYN_LINK

Definition at line 14 of file testSlabBumpAllocator.cxx.

◆ BOOST_TEST_MAIN

#define BOOST_TEST_MAIN

Definition at line 13 of file testSlabBumpAllocator.cxx.

◆ BOOST_TEST_MODULE

#define BOOST_TEST_MODULE   Test SlabBumpAllocator

Definition at line 12 of file testSlabBumpAllocator.cxx.

Function Documentation

◆ BOOST_AUTO_TEST_CASE() [1/26]

BOOST_AUTO_TEST_CASE ( capacity_is_clamped_to_what_the_pool_can_spare  )

Definition at line 328 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [2/26]

BOOST_AUTO_TEST_CASE ( capacity_is_split_between_concurrent_sinks  )

Definition at line 342 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [3/26]

BOOST_AUTO_TEST_CASE ( estimator_backs_off_when_the_pool_refuses  )

Definition at line 486 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [4/26]

BOOST_AUTO_TEST_CASE ( estimator_ceiling_follows_real_growth  )

Definition at line 469 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [5/26]

BOOST_AUTO_TEST_CASE ( estimator_cold_start_has_capacity  )

Definition at line 382 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [6/26]

BOOST_AUTO_TEST_CASE ( estimator_converges_and_reacts_to_overflow  )

Definition at line 396 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [7/26]

BOOST_AUTO_TEST_CASE ( estimator_decay_survives_interleaved_busy_timeframes  )

Definition at line 549 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [8/26]

BOOST_AUTO_TEST_CASE ( estimator_does_not_extrapolate_a_low_statistics_ratio  )

Definition at line 421 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [9/26]

BOOST_AUTO_TEST_CASE ( estimator_expected_tracks_the_current_input  )

Definition at line 452 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [10/26]

BOOST_AUTO_TEST_CASE ( estimator_grows_in_proportion_to_the_miss  )

Definition at line 506 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [11/26]

BOOST_AUTO_TEST_CASE ( estimator_keys_separate_the_road_walk_steps  )

Definition at line 583 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [12/26]

BOOST_AUTO_TEST_CASE ( estimator_recovers_from_a_single_overflow  )

Definition at line 529 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [13/26]

BOOST_AUTO_TEST_CASE ( estimator_reports_a_scale_independent_peak  )

Definition at line 436 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [14/26]

BOOST_AUTO_TEST_CASE ( estimator_reset_forgets_inflated_margins  )

Definition at line 568 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [15/26]

BOOST_AUTO_TEST_CASE ( grouped_keeps_order_across_slab_and_spill_boundaries  )

Definition at line 227 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [16/26]

BOOST_AUTO_TEST_CASE ( grouped_reproduces_two_pass_layout  )

Definition at line 210 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [17/26]

BOOST_AUTO_TEST_CASE ( grouped_survives_capacity_overestimate  )

Definition at line 222 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [18/26]

BOOST_AUTO_TEST_CASE ( grouped_survives_capacity_underestimate  )

Definition at line 216 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [19/26]

BOOST_AUTO_TEST_CASE ( slab_hands_out_disjoint_ranges  )

Definition at line 182 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [20/26]

BOOST_AUTO_TEST_CASE ( slab_never_exceeds_a_threads_fair_share  )

Definition at line 203 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [21/26]

BOOST_AUTO_TEST_CASE ( unordered_does_not_hand_back_an_oversized_buffer  )

Definition at line 312 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [22/26]

BOOST_AUTO_TEST_CASE ( unordered_keeps_records_across_slab_and_spill_boundaries  )

Definition at line 274 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [23/26]

BOOST_AUTO_TEST_CASE ( unordered_removes_unused_slots  )

Definition at line 296 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [24/26]

BOOST_AUTO_TEST_CASE ( unordered_reproduces_emitted_records  )

Definition at line 262 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [25/26]

BOOST_AUTO_TEST_CASE ( unordered_survives_a_failed_preallocation  )

Definition at line 360 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [26/26]

BOOST_AUTO_TEST_CASE ( unordered_survives_capacity_underestimate  )

Definition at line 268 of file testSlabBumpAllocator.cxx.