multithreading - 超线程和 CPU 密集型进程

标签 multithreading hyperthreading

所以我正在运行一个 CPU 密集型任务,该任务在我的 i7 笔记本电脑上没有并行化。

KSysGuard 报告我使用了 12.5% 的可用 CPU。

如果禁用超线程,我是否可能获得有意义的性能提升?它需要刷新一个新的 BIOS,所以在我参与这个想法之前我想听听意见......

谢谢

N

最佳答案

您的任务是使用单个核心的全部,而不是一个核心的 12.5%。 12.5% 是 1/8 - 您正在最大化超线程四核处理器拥有的八个硬件线程之一。如果禁用超线程,您将只有四个硬件线程,因此您的工具将报告 25% 的使用率 - 但您的任务将无法更快完成。

如果您想使用更多处理器,请尝试并行化工作。

关于multithreading - 超线程和 CPU 密集型进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19620087/

相关文章:

R: makePSOCKcluster 超线程 50% CPU 核心

Java——套接字编程

java - 在 OSGI 中使 bundle 并行、线程化运行的最佳方法是什么

c# - 简单的 C# WinForm 应用程序在 Visual Studio 中显示有 3 个线程。任务管理器显示 14-16 个线程。为什么?

java - JVM + Linux + Intel 的超线程 =

cpu - 超线程与超标量执行

java - JVM退出后守护线程如何存活?

multithreading - 如果一个 goroutine 已完成,控制 goroutine 关闭的规范方法是什么?

c++ - GetSystemInfo(在 Windows 上)是否总是返回逻辑处理器的数量?

multithreading - 4 个内核的 8 个逻辑线程并行运行速度最多可提高 4 倍?