add benchmark by gustavo

This commit is contained in:
Mathieu Lacage
2007-05-17 16:45:03 +02:00
parent f2c02fe3bb
commit b3d1e90132
2 changed files with 49 additions and 0 deletions

View File

@@ -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
View 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;
}
}