diff --git a/bench/async_bench.cpp b/bench/async_bench.cpp index 773074953..d434a85e9 100644 --- a/bench/async_bench.cpp +++ b/bench/async_bench.cpp @@ -66,19 +66,22 @@ int main(int argc, char *argv[]) { if (argc > 2) threads = atoi(argv[2]); if (argc > 3) { queue_size = atoi(argv[3]); - if (queue_size > 500000) { - spdlog::error("Max queue size allowed: 500,000"); - exit(1); - } } if (argc > 4) iters = atoi(argv[4]); // validate all argc values - if (howmany < 1 || threads < 1 || queue_size < 1 || iters < 1) { + if (howmany < 1 || threads < 1 || queue_size < 1 || iters < 1) { spdlog::error("Invalid input values"); exit(1); } + constexpr int max_q_size = sinks::async_sink::max_queue_size; + if(queue_size > max_q_size) + { + spdlog::error("Queue size too large. Max queue size is {:L}", max_q_size); + exit(1); + } + auto slot_size = sizeof(details::async_log_msg); spdlog::info("-------------------------------------------------"); spdlog::info("Messages : {:L}", howmany); diff --git a/include/spdlog/sinks/async_sink.h b/include/spdlog/sinks/async_sink.h index f11e108a6..ccc67849f 100644 --- a/include/spdlog/sinks/async_sink.h +++ b/include/spdlog/sinks/async_sink.h @@ -31,7 +31,7 @@ class SPDLOG_API async_sink final : public sink { discard_new // Discard the log message if the queue is full }; - enum { default_queue_size = 8192, max_queue_size = 10 * 1024 * 1024 }; + enum { default_queue_size = 8192, max_queue_size = 250'000}; struct config { size_t queue_size = default_queue_size;