A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
BenchSuite Class Reference

Benchmark which performs an ensemble of runs. More...

+ Collaboration diagram for BenchSuite:

Classes

struct  PhaseResult
 Statistics from a single phase, init or run. More...
 
struct  Result
 Results from initialization and execution of a single run. More...
 

Public Member Functions

 BenchSuite (ObjectFactory &factory, uint64_t pop, uint64_t total, uint64_t runs, Ptr< RandomVariableStream > eventStream, bool calRev)
 Perform the runs for a single scheduler type.
 
void Log () const
 Write the results to LOG()
 

Private Member Functions

void Header () const
 Print the table header.
 

Private Attributes

std::vector< Resultm_results
 Store for the run results.
 
std::string m_scheduler
 Descriptive string for the scheduler.
 

Detailed Description

Benchmark which performs an ensemble of runs.

Definition at line 179 of file bench-scheduler.cc.

Constructor & Destructor Documentation

◆ BenchSuite()

BenchSuite::BenchSuite ( ObjectFactory factory,
uint64_t  pop,
uint64_t  total,
uint64_t  runs,
Ptr< RandomVariableStream eventStream,
bool  calRev 
)

Perform the runs for a single scheduler type.

This will create and set the scheduler, then execute a priming run followed by the number of data runs requested.

Output will be in the form of a table showing performance for each run.

Parameters
[in]factoryFactory pre-configured to create the desired Scheduler.
[in]popThe event population size.
[in]totalThe total number of events to execute.
[in]runsThe number of replications.
[in]eventStreamThe random stream of event delays.
[in]calRevFor the CalendarScheduler, whether the Reverse attribute was set.

Definition at line 267 of file bench-scheduler.cc.

References BenchSuite::Result::Bench(), DEB, ns3::Simulator::Destroy(), ns3::TypeId::GetName(), ns3::ObjectFactory::GetTypeId(), Header(), BenchSuite::Result::Log(), m_results, m_scheduler, Bench::Run(), Bench::SetPopulation(), Bench::SetRandomStream(), ns3::Simulator::SetScheduler(), and Bench::SetTotal().

+ Here is the call graph for this function:

Member Function Documentation

◆ Header()

void BenchSuite::Header ( ) const
private

Print the table header.

Definition at line 312 of file bench-scheduler.cc.

References g_fwidth, LOG, and m_scheduler.

Referenced by BenchSuite().

+ Here is the caller graph for this function:

◆ Log()

void BenchSuite::Log ( ) const

Write the results to LOG()

Definition at line 332 of file bench-scheduler.cc.

References ACCUMULATE, BenchSuite::Result::Log(), LOG, and m_results.

+ Here is the call graph for this function:

Member Data Documentation

◆ m_results

std::vector<Result> BenchSuite::m_results
private

Store for the run results.

Definition at line 243 of file bench-scheduler.cc.

Referenced by BenchSuite(), and Log().

◆ m_scheduler

std::string BenchSuite::m_scheduler
private

Descriptive string for the scheduler.

Definition at line 242 of file bench-scheduler.cc.

Referenced by BenchSuite(), and Header().


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