我在 Linux 上有一个 C++ 应用程序,它将一些数据写入 SSD。 应用程序以每秒约 100 兆字节的速度写入。
应用程序每秒向磁盘写入 20 个新文件。除了这 20 个线程之外,应用程序的其他线程执行其他逻辑和维护。
目前,我的应用程序使用多个线程同时写入多个文件,每个线程写入一个文件。
最好更改代码设计,让一个线程每秒写入所有 20 个新文件?
最佳答案
这取决于你的操作系统
但宁愿建议使用最多 4 -8 个线程,因为如果并行执行的线程太多,操作系统的线程管理大部分时间都会减慢程序
尝试使用更少的线程来为每个线程完成更多任务;)
你能做的最好的事情仍然是测量程序的整体执行时间
关于c++ - 使用 SSD 时,使用一个线程写入 20 个不同的文件比使用 20 个线程更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37415352/