几年前,在Windows环境中,我做了一些测试,让CPU计算密集型+内存访问密集型+ I/O访问密集型应用程序运行多个实例。我开发了两个版本:一个在多处理下运行,另一个在多线程下运行。多线程和多进程的性能差异
我发现多处理的性能要好得多。我读过其他地方(但我不记得该网站)。
其中规定,原因是在多线程,他们是“打”为一个单一的存储管道和I/O管道,相较于多处理
但是这使得性能差,我找不到那篇文章了。我想知道,直到今天,下面的情况是否仍然如此?
在Windows中,具有多处理下的算法 代码运行,有一个高 机会,表现会比 多线程更好。
只是因为虚拟地址空间是沙盒,并不能告诉你他们在物理内存中的布局。这取决于VirtualAlloc(或其他)请求的大小以及进程/线程是否在所述块的边界附近进行加载存储操作。 – 2010-07-31 03:30:43