from torch.utils.data import DataLoader
import numpy as np
import time
if __name__=="__main__":
dataset=np.arange(10000)
data=DataLoader(dataset=dataset,batch_size=100, shuffle=False,num_workers=2,prefetch_factor=3)#
begin=time.time()
for i,d in enumerate(data):
end=time.time()
print('time:%f ms'%((end-begin)*1000))
begin=time.time()
'''
num_workers:越大,初始时间越长
prefetch_factor:
num_workers=10,prefetch_factor=3
time:14173.185825 ms #初始化
time:0.000000 ms
time:0.000000 ms
time:0.998497 ms
time:0.000000 ms
time:0.000000 ms
time:0.996590 ms
time:0.000000 ms
time:0.000000 ms
time:2.991915 ms
time:0.000000 ms
time:0.000000 ms
time:0.000000 ms
time:0.000000 ms
time:0.000000 ms
time:0.000000 ms
time:0.000000 ms
time:0.000000 ms
time:0.000000 ms
time:0.996590 ms
num_workers=5,prefetch_factor=3
time:7062.668800 ms
time:0.999212 ms
time:0.000000 ms
time:0.996351 ms
time:6.023645 ms
time:0.000000 ms
time:0.000000 ms
time:0.000000 ms
time:0.000000 ms
time:0.965357 ms
time:0.000000 ms
time:0.000000 ms
time:0.989676 ms
time:0.000000 ms
time:0.000000 ms
time:0.000000 ms
time:0.000000 ms
time:0.000000 ms
time:0.996590 ms
'''