假设我们想要尽快编译一个大项目(例如GCC或Linux内核),启用超线程功能的CPU(例如Intel Core i7)是否会在启用或禁用超线程时更快地运行编译器?是否有发表过测试这一点的基准测试数据?
我对超线程的理解是,每个核心可以从两个(或多个)进程中选择指令。通常情况下,这使得核心更有效率,因为功能单元更不可能处于空闲状态。但是,也存在性能损失的潜在可能性,因为在同一核心上运行的进程共享缓存等资源,并且可能会互相干扰。实际上是否提高了性能取决于工作负载。
那么,在编译器工作负载下,性能是否提高了呢?如果是,提高了多少?