想知道以下内容是否有意义。 Data.csv 文件约为 8 GB。我的笔记本电脑有 64GB RAM,12 线程。这是我应该从多线程中看到的改进吗?或者我还应该在这里做些什么吗?
@time CSV.read(raw"Data.csv", DataFrame, ntasks=1); # one thread
139.160430秒
@time CSV.read(raw"Data.csv", DataFrame, ntasks=8); # 8 threads
113.964781秒
@time CSV.read(raw"Data.csv", DataFrame, ntasks=12); # 12 threads
112.279668秒
如上所述,我尝试了这些不同的 ntasks= 选项来选择不同的线程数,但我是多线程新手,因此尝试了解我应该期望的改进水平。
从磁盘读取数据时,瓶颈通常是磁盘,因此添加线程不会改善这一点。您看到的加速可能是解析方面的一点改进。