nop*_*ole 2 performance multithreading multicore
我想知道在我的程序中我是否只有1个线程,我可以编写它以便Quad core或i7可以实际使用不同的内核吗?通常,当我在四核计算机上编写程序时,CPU使用率将仅达到约25%,并且工作似乎在4个核心之间进行划分,如任务管理器所示.(我编写的程序通常是Ruby,Python或PHP,所以它们可能没有那么多优化).
更新:如果我用C或C++编写它,和
for (i = 0; i < 100000000; i++) {
a = i * 2;
b = i + 1;
if (a == ... || b == ...) { ... }
}
Run Code Online (Sandbox Code Playgroud)
然后使用编译器的最高级别的优化.编译器是否可以在一个内核上进行乘法,并且添加发生在不同的内核上,因此可以使两个内核同时工作?使用2个核心并不是一个相当容易的优化?
不需要.您需要使用线程在多个CPU上同时执行多个路径(无论是真实的还是虚拟的)...一个线程的执行固有地绑定到一个CPU,因为这样可以保持语句之间的"发生之前"关系,这是中心程序如何工作.
| 归档时间: |
|
| 查看次数: |
2717 次 |
| 最近记录: |