Benchmark which performs an ensemble of runs. More...
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< Result > | m_results |
Store for the run results. | |
std::string | m_scheduler |
Descriptive string for the scheduler. | |
Benchmark which performs an ensemble of runs.
Definition at line 168 of file bench-scheduler.cc.
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.
[in] | factory | Factory pre-configured to create the desired Scheduler. |
[in] | pop | The event population size. |
[in] | total | The total number of events to execute. |
[in] | runs | The number of replications. |
[in] | eventStream | The random stream of event delays. |
[in] | calRev | For the CalendarScheduler, whether the Reverse attribute was set. |
Definition at line 256 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().
|
private |
Print the table header.
Definition at line 301 of file bench-scheduler.cc.
References g_fwidth, LOG, and m_scheduler.
Referenced by BenchSuite().
void BenchSuite::Log | ( | ) | const |
Write the results to LOG()
Definition at line 321 of file bench-scheduler.cc.
References ACCUMULATE, LOG, BenchSuite::Result::Log(), and m_results.
|
private |
Store for the run results.
Definition at line 232 of file bench-scheduler.cc.
Referenced by BenchSuite(), and Log().
|
private |
Descriptive string for the scheduler.
Definition at line 231 of file bench-scheduler.cc.
Referenced by BenchSuite(), and Header().