当前位置: 首页 > news >正文

terry tao.wordpress福州seo网络推广

terry tao.wordpress,福州seo网络推广,购物网站建设网,做网站经验“python 异步读取文件,速度变快了吗” 当我问出这个问题,大部分人第一反应应该是python新人,不懂异步 首先说一下我对异步的理解: asyncio 是 gevent greenlet 的组合gevent 底层使用了libev、selectors 模块,这两…

“python 异步读取文件,速度变快了吗”

当我问出这个问题,大部分人第一反应应该是python新人,不懂异步

首先说一下我对异步的理解:

  1. asyncio 是 gevent + greenlet 的组合
  2. gevent 底层使用了libev、selectors 模块,这两个模块是检测io操作的,selectors 调用了c函数select(),是io多路复用的,其中一个参数的fds,就是等待多个文件就绪,也就是进行多个io等待
  3. gevent用greenlet切换协程任务用的

贴一个select模块的地址:select --- 等待 I/O 完成 — Python 3.13.0rc2 文档

白话:多个协程任务的io等待是可以同时进行的,因此减少了程序运行的总时间

asyncio的教程大致两个示例

1.asyncio.sleep(delay)
2.requests.get(url)

没毛病,时间确实减少了,但是网上没看到文件读取的示例,最后说 你们看,用了异步方式读取文件,时间减少了。测试一下 :

case1:文件大小500kb,数量3个

case2:文件大小500kb,数量500个

case3:文件大小80Mb,数量3个

case4:文件大小80Mb,数量500个

经过我的测试,以上4个case情况一样,异步没有减少读取时间,那就用case3作为例子

异步方式读取文件

jmeter.log 文件大小80Mb,数量3个

async def read_file_async(file_path):print(f'start read {file_path}')async with aiofiles.open(file_path, 'r') as f:content = await f.read()print(f'read finish')async def main():files = ['jmeter.log','jmeter.log','jmeter.log']now = lambda : time.time()start = now()task_list = [read_file_async(file) for file in files]await asyncio.gather(*task_list)print(now()-start)asyncio.run(main())

运行结果

start read jmeter.log
start read jmeter.log
start read jmeter.log
read finish
read finish
read finish
0.25398802757263184

速度没有加快

接下来的问题,什么原因呢,我的答案是 我也不清楚

其实我试了asyncio、gevent、多线程、多进程、同步读取,比较下来,只有多进程会减少时间

不过不用担心,文件读取速度很快,一般情况不用考虑文件读取速度,真想提高,有人跟我说买更贵的ssd

http://www.hrbkazy.com/news/31800.html

相关文章:

  • 做ppt的网站叫什么名字知识付费网站搭建
  • 银川做网站的公司网站优化靠谱seo
  • 网站快速排名品牌营销服务
  • 上海建设银行青浦分行网站南安网站建设
  • 企石镇网站仿做百度搜索排行榜前十名
  • 车辆对比那个网站做的好企业网络营销方法
  • 网站宽度 超宽软文什么意思
  • 中通顺昌建设有限公司网站seo优化一般多少钱
  • 网站建设重要性太原网站建设
  • 制作一个网站的费用广西百度seo
  • 二手交易平台 网站开发杭州百度快速排名提升
  • 珠海网站制作品牌策划百度最新版下载
  • 做个免费的网站seo免费自学的网站
  • 做动态网站需要学什么百度搜索引擎营销如何实现
  • 如何做漫画赚钱的网站赣州seo唐三
  • 做推文封面图网站搜狗seo快速排名公司
  • 天河做网站技术免费发布广告的平台
  • 网站开发模版下载全网搜索指数查询
  • 哈尔滨网站建设2017国内设计公司前十名
  • 邯郸自媒体有哪些百度关键词优化送网站
  • 微信公众号怎么开通免费广安seo外包
  • qq音乐如何做mp3下载网站中国国家培训网官网
  • 什么是顺联网络营销sem和seo是什么
  • 网站图片标题背景怎样做的技能培训班有哪些
  • 赣州专业企业网站建设互联网营销怎么赚钱
  • dw网页设计实训心得关键词优化seo优化
  • 汽车网站模板江苏seo排名
  • 找人做事的网站网络推广协议
  • 创建全国文明城市宣传栏深圳知名seo公司
  • 短视频网站php源码免费北京新闻最新消息