- int threads = MAX(count_cpu_cores() - 2, 1);
- n_handlers = n_handlers_ ? n_handlers_ : threads;
+ int threads = MAX(count_cpu_cores(), 2);
+
+ n_revalidators = n_revalidators_;
+ n_handlers = n_handlers_;
+
+ if (!n_revalidators) {
+ n_revalidators = n_handlers
+ ? MAX(threads - (int) n_handlers, 1)
+ : threads / 4 + 1;
+ }
+
+ if (!n_handlers) {
+ n_handlers = MAX(threads - (int) n_revalidators, 1);
+ }