From 7ecd6323ffedbfef92c87c02b2a8680dd53b772c Mon Sep 17 00:00:00 2001 From: lichao <lichao@aiotlink.com> Date: 星期四, 06 五月 2021 19:37:50 +0800 Subject: [PATCH] rename atomic queue io function. --- utest/speed_test.cpp | 27 ++++++++++++++------------- 1 files changed, 14 insertions(+), 13 deletions(-) diff --git a/utest/speed_test.cpp b/utest/speed_test.cpp index d145ab4..c512569 100644 --- a/utest/speed_test.cpp +++ b/utest/speed_test.cpp @@ -16,15 +16,12 @@ * ===================================================================================== */ #include "util.h" -#include <boost/date_time/posix_time/posix_time.hpp> - -using namespace boost::posix_time; BOOST_AUTO_TEST_CASE(SpeedTest) { const int mem_size = 1024 * 1024 * 50; SharedMemory &shm = TestShm(); - MsgI::BindShm(shm); + GlobalInit(shm); MQId id = ShmMsgQueue::NewId(); const int timeout = 1000; @@ -38,7 +35,7 @@ MsgRequestTopic body; body.set_topic("topic"); body.set_data(str); - auto head(InitMsgHead(GetType(body), proc_id)); + auto head(InitMsgHead(GetType(body), proc_id, mq.Id())); msg.Make(head, body); assert(msg.valid()); DEFER1(msg.Release();); @@ -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) { @@ -122,7 +123,7 @@ const std::string server_proc_id = "server_proc"; SharedMemory &shm = TestShm(); - MsgI::BindShm(shm); + GlobalInit(shm); auto Avail = [&]() { return shm.get_free_memory(); }; auto init_avail = Avail(); @@ -156,7 +157,7 @@ MsgRequestTopic req_body; req_body.set_topic("topic"); req_body.set_data(msg_content); - auto req_head(InitMsgHead(GetType(req_body), client_proc_id)); + auto req_head(InitMsgHead(GetType(req_body), client_proc_id, cli.id())); req_head.add_route()->set_mq_id(cli.id()); return cli.Send(srv.id(), req_head, req_body); }; @@ -180,7 +181,7 @@ MsgRequestTopic reply_body; reply_body.set_topic("topic"); reply_body.set_data(msg_content); - auto reply_head(InitMsgHead(GetType(reply_body), server_proc_id, req_head.msg_id())); + auto reply_head(InitMsgHead(GetType(reply_body), server_proc_id, srv.id(), req_head.msg_id())); return srv.Send(src_id, reply_head, reply_body); }; Reply(); -- Gitblit v1.8.0