性能测试,与多进程对比,效率基本一样:
#coding=utf-8
import asyncio
import os
import cv2
import time
async def consumer(cons_index, q):
print('consumer {}: starting'.format(cons_index))
start=time.time()
i=0
while True:
item = await q.get()
# print('consumer {}: get {}'.format(n, item))
if item is None:
# None is the signal to stop.
q.task_done()
break
else:
print('get', cons_index, item[0],i,item[1].shape,time.time()-start)
i+=1
start = time.time()
await asyncio.sleep(0.001)
q.task_done()
print('consumer {}: ending'.format(cons_index))
async def producer(q, num_workers):
# Add some numbers to the queue to simulate jobs
paths=r'D:\data\VOCdevkit2007\VOC2007\JPEGImages/'
files =os.listdir(paths)
for i,file in enumer