quill
FrontendOptions.h
1 
7 #pragma once
8 
9 #include "quill/core/Attributes.h"
10 #include "quill/core/Common.h"
11 
12 #include <cstdint>
13 
14 QUILL_BEGIN_NAMESPACE
15 
16 QUILL_BEGIN_EXPORT
17 
38 struct FrontendOptions
39 {
51  static constexpr QueueType queue_type = QueueType::UnboundedBlocking;
52 
56  static constexpr size_t initial_queue_capacity = 128u * 1024u; // 128 KiB
57 
62  static constexpr uint32_t blocking_queue_retry_interval_ns = 800;
63 
68  static constexpr size_t unbounded_queue_max_capacity = 2ull * 1024u * 1024u * 1024u; // 2 GiB
69 
73  static constexpr HugePagesPolicy huge_pages_policy = HugePagesPolicy::Never;
74 };
75 
76 QUILL_END_EXPORT
77 
78 QUILL_END_NAMESPACE
static constexpr uint32_t blocking_queue_retry_interval_ns
Interval for retrying when using BoundedBlocking or UnboundedBlocking.
Definition: FrontendOptions.h:62
Adding a benchmark for a another logger should be straight forward by duplicating and modifying this ...
Definition: quill_hot_path_rdtsc_clock.cpp:13
static constexpr QueueType queue_type
Each frontend thread has its own queue, which can be configured with various options: ...
Definition: FrontendOptions.h:51
static constexpr HugePagesPolicy huge_pages_policy
Enables huge pages on the frontend queues to reduce TLB misses.
Definition: FrontendOptions.h:73
static constexpr size_t initial_queue_capacity
Initial capacity of the queue.
Definition: FrontendOptions.h:56
static constexpr size_t unbounded_queue_max_capacity
Maximum capacity for unbounded queues (UnboundedBlocking, UnboundedDropping).
Definition: FrontendOptions.h:68