rename concur::queue => `concur::circular_queue

This commit is contained in:
mutouyun 2023-11-18 16:10:24 +08:00
parent ffb82029d9
commit 9bd8813d46
3 changed files with 12 additions and 12 deletions

View File

@ -6,13 +6,13 @@
#include "benchmark/benchmark.h" #include "benchmark/benchmark.h"
#include "libconcur/queue.h" #include "libconcur/circular_queue.h"
namespace { namespace {
void concur_queue_rtt(benchmark::State &state) { void concur_queue_rtt(benchmark::State &state) {
using namespace concur; using namespace concur;
queue<std::int64_t, relation::single, relation::single> que [2]; circular_queue<std::int64_t, relation::single, relation::single> que [2];
std::atomic_bool stop = false; std::atomic_bool stop = false;
auto producer = std::async(std::launch::async, [&stop, &que] { auto producer = std::async(std::launch::async, [&stop, &que] {
for (std::int64_t i = 0; !stop.load(std::memory_order_relaxed); ++i) { for (std::int64_t i = 0; !stop.load(std::memory_order_relaxed); ++i) {
@ -35,7 +35,7 @@ void concur_queue_rtt(benchmark::State &state) {
void concur_queue_1v1(benchmark::State &state) { void concur_queue_1v1(benchmark::State &state) {
using namespace concur; using namespace concur;
queue<std::int64_t, relation::single, relation::single> que; circular_queue<std::int64_t, relation::single, relation::single> que;
std::atomic_bool stop = false; std::atomic_bool stop = false;
auto producer = std::async(std::launch::async, [&stop, &que] { auto producer = std::async(std::launch::async, [&stop, &que] {
for (std::int64_t i = 0; !stop.load(std::memory_order_relaxed); ++i) { for (std::int64_t i = 0; !stop.load(std::memory_order_relaxed); ++i) {
@ -56,7 +56,7 @@ void concur_queue_1v1(benchmark::State &state) {
void concur_queue_NvN(benchmark::State &state) { void concur_queue_NvN(benchmark::State &state) {
using namespace concur; using namespace concur;
static queue<std::int64_t, relation::multi, relation::multi> que; static circular_queue<std::int64_t, relation::multi, relation::multi> que;
static std::atomic_int run = 0; static std::atomic_int run = 0;
static std::vector<std::thread> prods; static std::vector<std::thread> prods;

View File

@ -13,7 +13,7 @@ LIBCONCUR_NAMESPACE_BEG_
template <typename T, typename PRelationT = relation::multi template <typename T, typename PRelationT = relation::multi
, typename CRelationT = relation::multi> , typename CRelationT = relation::multi>
class queue class circular_queue
: public data_model<T, trans::unicast, PRelationT, CRelationT> { : public data_model<T, trans::unicast, PRelationT, CRelationT> {
using base_t = data_model<T, trans::unicast, PRelationT, CRelationT>; using base_t = data_model<T, trans::unicast, PRelationT, CRelationT>;

View File

@ -7,14 +7,14 @@
#include "gtest/gtest.h" #include "gtest/gtest.h"
#include "libconcur/queue.h" #include "libconcur/circular_queue.h"
#include "libimp/log.h" #include "libimp/log.h"
#include "libimp/nameof.h" #include "libimp/nameof.h"
using namespace concur; using namespace concur;
TEST(queue, construct) { TEST(circular_queue, construct) {
using queue_t = queue<int>; using queue_t = circular_queue<int>;
queue_t q1; queue_t q1;
EXPECT_TRUE(q1.valid()); EXPECT_TRUE(q1.valid());
EXPECT_TRUE(q1.empty()); EXPECT_TRUE(q1.empty());
@ -25,7 +25,7 @@ namespace {
template <typename PR, typename CR> template <typename PR, typename CR>
void test_queue_basic() { void test_queue_basic() {
using queue_t = queue<int, PR, CR>; using queue_t = circular_queue<int, PR, CR>;
queue_t q1; queue_t q1;
EXPECT_TRUE(q1.valid()); EXPECT_TRUE(q1.valid());
EXPECT_TRUE(q1.empty()); EXPECT_TRUE(q1.empty());
@ -74,7 +74,7 @@ void test_queue_basic() {
} // namespace } // namespace
TEST(queue, push_pop) { TEST(circular_queue, push_pop) {
test_queue_basic<relation::single, relation::single>(); test_queue_basic<relation::single, relation::single>();
test_queue_basic<relation::single, relation::multi >(); test_queue_basic<relation::single, relation::multi >();
test_queue_basic<relation::multi , relation::multi >(); test_queue_basic<relation::multi , relation::multi >();
@ -91,7 +91,7 @@ void test_queue(std::size_t np, std::size_t nc) {
std::uint64_t n; std::uint64_t n;
std::uint64_t i; std::uint64_t i;
}; };
queue<Data, PR, CR> que; circular_queue<Data, PR, CR> que;
constexpr static std::uint32_t loop_size = 10'0000; constexpr static std::uint32_t loop_size = 10'0000;
@ -139,7 +139,7 @@ void test_queue(std::size_t np, std::size_t nc) {
} // namespace } // namespace
TEST(queue, multi_thread) { TEST(circular_queue, multi_thread) {
using namespace concur; using namespace concur;
/// \brief 1-1 /// \brief 1-1