add benchmark by gustavo
This commit is contained in:
@@ -340,6 +340,12 @@ run_tests.set_executable()
|
||||
run_tests.add_deps(['core', 'simulator', 'common'])
|
||||
run_tests.add_source('run-tests.cc')
|
||||
|
||||
bench_object = build.Ns3Module('bench-object', 'utils')
|
||||
ns3.add(bench_object)
|
||||
bench_object.set_executable()
|
||||
bench_object.add_deps(['core'])
|
||||
bench_object.add_source('bench-object.cc')
|
||||
|
||||
bench_packets = build.Ns3Module('bench-packets', 'utils')
|
||||
#ns3.add(bench_packets)
|
||||
bench_packets.set_executable()
|
||||
|
||||
43
utils/bench-object.cc
Normal file
43
utils/bench-object.cc
Normal file
@@ -0,0 +1,43 @@
|
||||
#include <vector>
|
||||
#include <stdlib.h>
|
||||
#include "ns3/interface-object.h"
|
||||
|
||||
using namespace ns3;
|
||||
|
||||
class BaseA : public ns3::InterfaceObject
|
||||
{
|
||||
public:
|
||||
static const ns3::MyInterfaceId iid;
|
||||
BaseA ()
|
||||
{
|
||||
SetInterfaceId (BaseA::iid);
|
||||
}
|
||||
virtual void Dispose (void) {}
|
||||
};
|
||||
|
||||
const ns3::MyInterfaceId BaseA::iid =
|
||||
ns3::MakeInterfaceId ("BaseABench", InterfaceObject::iid);
|
||||
|
||||
|
||||
|
||||
int main (int argc, char *argv[])
|
||||
{
|
||||
int nobjects = atoi (argv[1]);
|
||||
int nswaps = atoi (argv[2]);
|
||||
|
||||
std::vector< Ptr<BaseA> > objlist;
|
||||
|
||||
for (int i = 0; i < nobjects; ++i)
|
||||
objlist.push_back (MakeNewObject<BaseA> ());
|
||||
|
||||
for (int swapCounter = nswaps; swapCounter; --swapCounter)
|
||||
{
|
||||
int x1 = swapCounter % nobjects;
|
||||
int x2 = (swapCounter+1) % nobjects;
|
||||
Ptr<BaseA> obj1 = objlist[x1];
|
||||
Ptr<BaseA> obj2 = objlist[x2];
|
||||
objlist[x2] = obj1;
|
||||
objlist[x1] = obj2;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user