为什么在处理文件系统 (Windows) 时串行 foreach 操作比并行 foreach 操作慢?
Why are serial foreach operations slower than parallel foreach operations when dealing with the file system (Windows)?
我有一个程序可以检查多个文件,然后替换某些字符串(通常是 100-200 个文件,每个文件不超过 10-20kb)。
我原以为 Parallel ForEach
会是去这里的方法,但这实际上比好的 'ol 串行 ForEach 慢。知道为什么吗?
在 OP 的评论中引用@David:
When the operation reaches the hardware, there's still only one disk. Task switching across CPU cores is easy, but the overhead on a disk is costly.
我有一个程序可以检查多个文件,然后替换某些字符串(通常是 100-200 个文件,每个文件不超过 10-20kb)。
我原以为 Parallel ForEach
会是去这里的方法,但这实际上比好的 'ol 串行 ForEach 慢。知道为什么吗?
在 OP 的评论中引用@David:
When the operation reaches the hardware, there's still only one disk. Task switching across CPU cores is easy, but the overhead on a disk is costly.