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 <stdexcept>
#include <vector>
#include <oneapi/tbb/parallel_for.h>
#include <oneapi/tbb/task_arena.h>
#include "ITSMFTTracking/BoundedAllocator.h"
#include "ITSMFTTracking/CapacityEstimator.h"
#include "ITSMFTTracking/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_updates_immediately_and_commit_retains_updates)
 
 BOOST_AUTO_TEST_CASE (estimator_rollback_restores_the_first_touch_state_exactly)
 
 BOOST_AUTO_TEST_CASE (estimator_rollback_removes_a_transaction_created_key)
 
 BOOST_AUTO_TEST_CASE (estimator_nested_transaction_rejection_preserves_the_active_transaction)
 
 BOOST_AUTO_TEST_CASE (estimator_reset_clears_active_transaction_and_learning)
 
 BOOST_AUTO_TEST_CASE (estimator_keys_separate_the_road_walk_steps)
 
 BOOST_AUTO_TEST_CASE (estimator_keys_separate_stage_iteration_and_site)
 

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/32]

BOOST_AUTO_TEST_CASE ( capacity_is_clamped_to_what_the_pool_can_spare  )

Definition at line 360 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [2/32]

BOOST_AUTO_TEST_CASE ( capacity_is_split_between_concurrent_sinks  )

Definition at line 374 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [3/32]

BOOST_AUTO_TEST_CASE ( estimator_backs_off_when_the_pool_refuses  )

Definition at line 518 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [4/32]

BOOST_AUTO_TEST_CASE ( estimator_ceiling_follows_real_growth  )

Definition at line 501 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [5/32]

BOOST_AUTO_TEST_CASE ( estimator_cold_start_has_capacity  )

Definition at line 414 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [6/32]

BOOST_AUTO_TEST_CASE ( estimator_converges_and_reacts_to_overflow  )

Definition at line 428 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [7/32]

BOOST_AUTO_TEST_CASE ( estimator_decay_survives_interleaved_busy_timeframes  )

Definition at line 581 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [8/32]

BOOST_AUTO_TEST_CASE ( estimator_does_not_extrapolate_a_low_statistics_ratio  )

Definition at line 453 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [9/32]

BOOST_AUTO_TEST_CASE ( estimator_expected_tracks_the_current_input  )

Definition at line 484 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [10/32]

BOOST_AUTO_TEST_CASE ( estimator_grows_in_proportion_to_the_miss  )

Definition at line 538 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [11/32]

BOOST_AUTO_TEST_CASE ( estimator_keys_separate_stage_iteration_and_site  )

Definition at line 725 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [12/32]

BOOST_AUTO_TEST_CASE ( estimator_keys_separate_the_road_walk_steps  )

Definition at line 715 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [13/32]

BOOST_AUTO_TEST_CASE ( estimator_nested_transaction_rejection_preserves_the_active_transaction  )

Definition at line 673 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [14/32]

BOOST_AUTO_TEST_CASE ( estimator_recovers_from_a_single_overflow  )

Definition at line 561 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [15/32]

BOOST_AUTO_TEST_CASE ( estimator_reports_a_scale_independent_peak  )

Definition at line 468 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [16/32]

BOOST_AUTO_TEST_CASE ( estimator_reset_clears_active_transaction_and_learning  )

Definition at line 693 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [17/32]

BOOST_AUTO_TEST_CASE ( estimator_reset_forgets_inflated_margins  )

Definition at line 600 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [18/32]

BOOST_AUTO_TEST_CASE ( estimator_rollback_removes_a_transaction_created_key  )

Definition at line 657 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [19/32]

BOOST_AUTO_TEST_CASE ( estimator_rollback_restores_the_first_touch_state_exactly  )

Definition at line 637 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [20/32]

BOOST_AUTO_TEST_CASE ( estimator_updates_immediately_and_commit_retains_updates  )

Definition at line 615 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [21/32]

BOOST_AUTO_TEST_CASE ( grouped_keeps_order_across_slab_and_spill_boundaries  )

Definition at line 259 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [22/32]

BOOST_AUTO_TEST_CASE ( grouped_reproduces_two_pass_layout  )

Definition at line 242 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [23/32]

BOOST_AUTO_TEST_CASE ( grouped_survives_capacity_overestimate  )

Definition at line 254 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [24/32]

BOOST_AUTO_TEST_CASE ( grouped_survives_capacity_underestimate  )

Definition at line 248 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [25/32]

BOOST_AUTO_TEST_CASE ( slab_hands_out_disjoint_ranges  )

Definition at line 214 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [26/32]

BOOST_AUTO_TEST_CASE ( slab_never_exceeds_a_threads_fair_share  )

Definition at line 235 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [27/32]

BOOST_AUTO_TEST_CASE ( unordered_does_not_hand_back_an_oversized_buffer  )

Definition at line 344 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [28/32]

BOOST_AUTO_TEST_CASE ( unordered_keeps_records_across_slab_and_spill_boundaries  )

Definition at line 306 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [29/32]

BOOST_AUTO_TEST_CASE ( unordered_removes_unused_slots  )

Definition at line 328 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [30/32]

BOOST_AUTO_TEST_CASE ( unordered_reproduces_emitted_records  )

Definition at line 294 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [31/32]

BOOST_AUTO_TEST_CASE ( unordered_survives_a_failed_preallocation  )

Definition at line 392 of file testSlabBumpAllocator.cxx.

◆ BOOST_AUTO_TEST_CASE() [32/32]

BOOST_AUTO_TEST_CASE ( unordered_survives_capacity_underestimate  )

Definition at line 300 of file testSlabBumpAllocator.cxx.