--- a/SConstruct Thu May 17 14:39:54 2007 +0200
+++ b/SConstruct Thu May 17 16:45:03 2007 +0200
@@ -340,6 +340,12 @@
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()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/utils/bench-object.cc Thu May 17 16:45:03 2007 +0200
@@ -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;
+ }
+}
+