使用SSD时,使用一个线程编写20个不同的文件而不是20个线程是否更好?

时间:2016-05-24 13:38:55

标签: c++ multithreading ssd

我在Linux上有一个C ++应用程序,它将一些数据写入SSD。 应用程序以每秒100 MB的速度写入。

每秒,应用程序会将20个新文件写入磁盘。除了这20个线程之外,应用程序的其他线程还执行其他逻辑和维护。

目前,我的应用程序使用多个线程同时写入多个文件,每个线程写一个文件。

最好更改代码的设计,并让一个线程每秒写入所有20个新文件?

1 个答案:

答案 0 :(得分:0)

这取决于您的操作系统

但是建议最多使用4-8个线程作为操作系统的线程管理,如果并行执行太多线程,大多数时候会减慢程序的速度

尝试使用更少的线程,为每个线程执行更多任务;)

您可以做的最好的事情仍然是测量程序的整体执行时间