在多核系统上使用多个线程读取文件是否会提高性能? 是否有任何磁盘支持并行访问?(不是Cuncurent访问)
答案 0 :(得分:2)
这在SSD和旋转磁盘上都有所不同,但这在很大程度上是出于不同的原因。
对于SSD,如果请求来自单个线程,则在SSD检索到一个请求的数据之后以及线程可以发送其下一个请求之前,将有一个死机时间。由于SSD是如此之快,因此该死区时间可能占SSD读取时间的很大一部分。
对于旋转磁盘,执行读取的顺序可能很重要。例如,如果发出了对磁道1,磁道12和磁道2的读取,则在读取磁道12之前执行磁道2的读取会更有效,但是如果对磁道2的读取没有发生,则不会发生这种情况。直到线程处理从磁道12读取的结果之后,该命令才会发出。
对于SSD,多核的作用远不止多线程。对于磁盘旋转,多个线程可以发出多个读取,即使它们都必须共享同一个内核,也可以重新排序。