From 7c328c9e26850b880edd7d364be9ad8cdd5b2a97 Mon Sep 17 00:00:00 2001 From: gabime Date: Sat, 7 Dec 2024 15:43:51 +0200 Subject: [PATCH] Revert "Fixed CMakeLists.txt" This reverts commit edec38181cdfc21c0ce81f64a80c5c441fdd366e. --- example/example.cpp | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/example/example.cpp b/example/example.cpp index bc2a2b97..4d611b86 100644 --- a/example/example.cpp +++ b/example/example.cpp @@ -16,25 +16,27 @@ using namespace spdlog::sinks; -void worker_thread(spdlog::logger &logger, int n_messages) { +void worker_thread(std::shared_ptr logger, int n_messages) { for (int i = 0; i < n_messages; ++i) { // std::this_thread::sleep_for(std::chrono::milliseconds(10)); - logger.info("Worker thread message #{}", i); + logger->info("Worker thread message #{}", i); } } -#include + bool async_example2(size_t n_threads, size_t n_messages) { auto test_sink = std::make_shared(); auto n_total_messages = n_messages * n_threads; { std::vector threads; - auto async_sink = std::make_shared(8192); + auto async_sink = std::make_shared(); async_sink->add_sink(test_sink); - //auto logger = std::make_shared("async_logger", async_sink); - spdlog::logger logger("async_logger", async_sink); + auto logger = std::make_shared("async_logger", async_sink); + logger->set_level(spdlog::level::trace); + spdlog::stopwatch sw; + for (int i = 0; i < n_threads; ++i) { - threads.emplace_back(worker_thread, std::ref(logger), n_messages); + threads.emplace_back(worker_thread, logger, n_messages); } // wait for worker threads to finish @@ -47,7 +49,7 @@ bool async_example2(size_t n_threads, size_t n_messages) { if (millis == 0) { millis = 1; } - spdlog::info("+++ {:L}/sec +++ ({} ms)", n_total_messages * 1000 / millis, millis); + spdlog::info("Elapsed {} millis ({:L}/sec)", millis, n_total_messages * 1000 / millis); } // wait for the worker thread to finish @@ -64,17 +66,17 @@ bool async_example2(size_t n_threads, size_t n_messages) { #include int main(int, char *[]) { std::locale::global(std::locale("en_US.UTF-8")); + // constexpr size_t n_messages = 1'00; + // constexpr size_t n_threads = 1; try { // random n_messages and n_threads std::mt19937 gen(std::random_device{}()); for (int i = 0; i < 100; i++) { - // auto n_threads = std::uniform_int_distribution(1, 10)(gen); - // auto n_messages = std::uniform_int_distribution(1, 1'000'000)(gen); - auto n_threads = 4; - auto n_messages = 1'000'000 / n_threads; + auto n_threads = std::uniform_int_distribution(1, 10)(gen); + auto n_messages = std::uniform_int_distribution(1, 1'000'000)(gen); spdlog::info("***********************************"); - spdlog::info("Test #{}. {} x {:L} = {:L} msgs", i, n_threads, n_messages, n_threads * n_messages); + spdlog::info("Test #{}. Threads: {}, Count: {:L}", i, n_threads, n_messages); if (!async_example2(n_threads, n_messages)) { spdlog::error("Stopped"); break;