asyncio 并发测试
【摘要】
asyncio 用这个批量读取文件,需要33ms,没有比多线程快
协程在并发 cpu计算时有优势:比如 box计算,nms可以试试:
由下面的多线程模块threading和协程模块asyncio的对比可以看出,ansyncio的完成时间是threading的一半左右。由此,asyncio在高并发的情况下具有比较大的优势,并且在资源的保护上也做得比threa...
asyncio 用这个批量读取文件,需要33ms,没有比多线程快
协程在并发 cpu计算时有优势:比如 box计算,nms可以试试:
由下面的多线程模块threading和协程模块asyncio的对比可以看出,ansyncio的完成时间是threading的一半左右。由此,asyncio在高并发的情况下具有比较大的优势,并且在资源的保护上也做得比threading要好。
-
#密集运算测试
-
import asyncio
-
import time
-
a = 0
-
tasks = []
-
num = 0
-
async def do_something(x):
-
global a
-
img=cv2.imread(x[1])
-
await asyncio.sleep(0.0001)
-
-
print("this is coroutetime",":",x[0]) #思路1,思路3
-
# print("this is coroutetime",":",x,a) #思路2
-
-
import os
-
import cv2
-
paths=r'D:\data\VOCdevkit2007\VOC2007\JPEGImages/'
-
files =os.listdir(paths)
-
for i,file in enumerate(files):
-
# img=cv2.imread(paths+file)
-
#即使睡眠的时间很短,运算量大都不会产生资源争夺
-
coroutine = do_something((i,paths+file)) #思路1
-
# coroutine = do_something(i*0.01)
文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jacke121/article/details/87898932
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)