size_t concurrency = 1;
if (threadsEnabled)
concurrency = std::min<size_t>(
- hardware_concurrency().compute_thread_count(), numShards);
+ PowerOf2Floor(hardware_concurrency().compute_thread_count()),
+ numShards);
// A sharded map to uniquify symbols by name.
std::vector<DenseMap<CachedHashStringRef, size_t>> map(numShards);
size_t concurrency = 1;
if (threadsEnabled)
concurrency = std::min<size_t>(
- hardware_concurrency().compute_thread_count(), numShards);
+ PowerOf2Floor(hardware_concurrency().compute_thread_count()),
+ numShards);
// Add section pieces to the builders.
parallelForEachN(0, concurrency, [&](size_t threadId) {