From 95bd9a67f9f6c90f627784e3f8fbf5c203784e51 Mon Sep 17 00:00:00 2001
From: lichao <lichao@aiotlink.com>
Date: 星期五, 30 四月 2021 15:36:17 +0800
Subject: [PATCH] change shm socket msg queue to atomic queue.

---
 utest/speed_test.cpp |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/utest/speed_test.cpp b/utest/speed_test.cpp
index bd455ec..c512569 100644
--- a/utest/speed_test.cpp
+++ b/utest/speed_test.cpp
@@ -16,9 +16,6 @@
  * =====================================================================================
  */
 #include "util.h"
-#include <boost/date_time/posix_time/posix_time.hpp>
-
-using namespace boost::posix_time;
 
 BOOST_AUTO_TEST_CASE(SpeedTest)
 {
@@ -49,14 +46,18 @@
 	};
 	auto Reader = [&](int reader_id, std::atomic<bool> *run, bool isfork) {
 		ShmMsgQueue mq(id, shm, 1000);
+		auto now = []() { return steady_clock::now(); };
+		auto tm = now();
 		while (*run) {
 			MsgI msg;
 			BHMsgHead head;
-			if (mq.Recv(msg, timeout)) {
+			if (mq.TryRecv(msg)) {
 				DEFER1(msg.Release());
-				// ok
+				tm = now();
 			} else if (isfork) {
-				exit(0); // for forked quit after 1s.
+				if (now() > tm + 1s) {
+					exit(0); // for forked quit after 1s.
+				}
 			}
 		}
 	};
@@ -70,8 +71,8 @@
 		}
 	};
 
-	int nwriters[] = {1, 2, 4};
-	int nreaders[] = {1, 2};
+	int nwriters[] = {1, 4, 16};
+	int nreaders[] = {1, 4};
 
 	auto Test = [&](auto &www, auto &rrr, bool isfork) {
 		for (auto nreader : nreaders) {

--
Gitblit v1.8.0