diff --git a/passes/opt/opt_clean/opt_clean.cc b/passes/opt/opt_clean/opt_clean.cc index 37d58861d..87597d721 100644 --- a/passes/opt/opt_clean/opt_clean.cc +++ b/passes/opt/opt_clean/opt_clean.cc @@ -31,7 +31,7 @@ void rmunused_module(RTLIL::Module *module, bool rminit, CleanRunContext &clean_ // Use no more than one worker per thousand cells, rounded down, so // we only start multithreading with at least 2000 cells. - int num_worker_threads = ThreadPool::work_pool_size(0, module->cells_size(), 1000); + int num_worker_threads = ThreadPool::work_pool_size(0, module->cells_size(), 10000); ParallelDispatchThreadPool::Subpool subpool(clean_ctx.thread_pool, num_worker_threads); remove_temporary_cells(module, subpool, clean_ctx.flags.verbose); rmunused_module_cells(module, subpool, clean_ctx); diff --git a/passes/opt/opt_clean/opt_clean.h b/passes/opt/opt_clean/opt_clean.h index affb217a1..c48a8188a 100644 --- a/passes/opt/opt_clean/opt_clean.h +++ b/passes/opt/opt_clean/opt_clean.h @@ -64,7 +64,7 @@ private: int thread_pool_size = 0; for (auto module : selected_modules) thread_pool_size = std::max(thread_pool_size, - ThreadPool::work_pool_size(0, module->cells_size(), 1000)); + ThreadPool::work_pool_size(0, module->cells_size(), 10000)); return thread_pool_size; }