]> code.bitgloo.com Git - clyne/entityx.git/commitdiff
Make benchmarks work.
authorAlec Thomas <alec@swapoff.org>
Fri, 29 Nov 2013 17:47:35 +0000 (12:47 -0500)
committerAlec Thomas <alec@swapoff.org>
Fri, 29 Nov 2013 17:47:35 +0000 (12:47 -0500)
entityx/Benchmarks_test.cc
entityx/help/NonCopyable.h
entityx/help/Timer.cc
entityx/help/Timer.h

index f469c3729cd5c18fb1523fbf11704d08ee373768..100defde55d16b11ff50413e95ca69262e2775a8 100644 (file)
@@ -1,12 +1,22 @@
 #include <iostream>
 #include <vector>
-#include <gtest/gtest.h>
-#include <boost/timer/timer.hpp>
+#include "gtest/gtest.h"
+#include "entityx/help/Timer.h"
 #include "entityx/Entity.h"
 
 using namespace std;
 using namespace entityx;
 
+
+struct AutoTimer {
+  ~AutoTimer() {
+    cout << timer_.elapsed() << " seconds elapsed" << endl;
+  }
+
+private:
+  entityx::help::Timer timer_;
+};
+
 class BenchmarksTest : public ::testing::Test {
 protected:
   BenchmarksTest() : ev(EventManager::make()), em(EntityManager::make(ev)) {}
@@ -17,7 +27,7 @@ protected:
 
 
 TEST_F(BenchmarksTest, TestCreateEntities) {
-  boost::timer::auto_cpu_timer t;
+  AutoTimer t;
 
   uint64_t count = 10000000L;
   cout << "creating " << count << " entities" << endl;
@@ -35,7 +45,7 @@ TEST_F(BenchmarksTest, TestDestroyEntities) {
     entities.push_back(em->create());
   }
 
-  boost::timer::auto_cpu_timer t;
+  AutoTimer t;
   cout << "destroying " << count << " entities" << endl;
 
   for (auto e : entities) {
@@ -54,7 +64,7 @@ TEST_F(BenchmarksTest, TestCreateEntitiesWithListener) {
 
   uint64_t count = 10000000L;
 
-  boost::timer::auto_cpu_timer t;
+  AutoTimer t;
   cout << "creating " << count << " entities while notifying a single EntityCreatedEvent listener" << endl;
 
   vector<Entity> entities;
@@ -73,7 +83,7 @@ TEST_F(BenchmarksTest, TestDestroyEntitiesWithListener) {
     entities.push_back(em->create());
   }
 
-  boost::timer::auto_cpu_timer t;
+  AutoTimer t;
   cout << "destroying " << count << " entities" << endl;
 
   for (auto &e : entities) {
@@ -93,7 +103,7 @@ TEST_F(BenchmarksTest, TestEntityIteration) {
     entities.push_back(e);
   }
 
-  boost::timer::auto_cpu_timer t;
+  AutoTimer t;
   cout << "iterating over " << count << " entities with a component 10 times" << endl;
 
   for (int i = 0; i < 10; ++i) {
index 5f193ee4a749e1a557efe1ccc2883347b289fbfc..19c0ed1654785e038eed1bc9cf54311d921f027c 100644 (file)
@@ -5,19 +5,16 @@
 namespace entityx {
 namespace help {
 
-class NonCopyable
-{
- protected:
-
+class NonCopyable {
+protected:
   NonCopyable() = default;
   ~NonCopyable() = default;
 
 
-  NonCopyable( const NonCopyable& ) = delete;
-  NonCopyable& operator=( const NonCopyable& ) = delete;
-
+  NonCopyable(const NonCopyable&) = delete;
+  NonCopyable& operator = (const NonCopyable &) = delete;
 };
 
 
-} // namespace help
-} // namespace entityx
\ No newline at end of file
+}  // namespace help
+}  // namespace entityx
index 0b18c845f2a4a7b6800397527c257550ed5f79bd..5f70ee0b728783217f0e2c1b5ecb02357dc34fda 100644 (file)
 namespace entityx {
 namespace help {
 
-Timer::Timer()
-{
-
+Timer::Timer() {
+  _start = std::chrono::system_clock::now();
 }
 
-Timer::~Timer()
-{
-       
+Timer::~Timer() {
 }
 
-void Timer::restart()
-{
-       _start = std::chrono::system_clock::now();
+void Timer::restart() {
+  _start = std::chrono::system_clock::now();
 }
 
-double Timer::elapsed()
-{
-       return std::chrono::duration<double>(std::chrono::system_clock::now() - _start).count();
+double Timer::elapsed() {
+  auto duration = std::chrono::system_clock::now() - _start;
+  return static_cast<double>(std::chrono::duration_cast<std::chrono::milliseconds>(duration).count()) / 1000.0;
 }
 
-} // namespace help
-} // namespace entityx
\ No newline at end of file
+}  // namespace help
+}  // namespace entityx
index 87a062684143bcc5cac517713a0c2ce45bbbe73e..4d22b08a4825fdca7cc219359341867973bbaffd 100644 (file)
@@ -9,22 +9,21 @@
  */
 #pragma once
 
- #include <chrono>
+#include <chrono>
 
 namespace entityx {
 namespace help {
 
-class Timer
-{
+class Timer {
 public:
-       Timer();
-       ~Timer();
+  Timer();
+  ~Timer();
 
-       void restart();
-       double elapsed();
+  void restart();
+  double elapsed();
 private:
-       std::chrono::time_point<std::chrono::system_clock> _start;
+  std::chrono::time_point<std::chrono::system_clock> _start;
 };
 
-} // namespace help
-} // namespace entityx
\ No newline at end of file
+}  // namespace help
+}  // namespace entityx