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