I don't understand why.
cpu_id_t data;
            
            
            if (0 != cpuid_get_raw_data(&raw_data) || 0 != cpu_identify(&raw_data, &data) || data.num_logical_cpus == 0)
            {
                
                break;
            }
            cpu_count = data.num_cores * data.total_logical_cpus / data.num_logical_cpus;
            
            
            
            
            
            
        } while (false);
#endif
        
        
        if (cpu_count == 0)
            cpu_count = std::thread::hardware_concurrency();
#if defined(OS_LINUX)
        
        cpu_count = getCGroupLimitedCPUCores(cpu_count);
#endif 
        return cpu_count;
    }();
    return number;
}