全国服务热线:400-6136-679

位置:南京CDA数据分析师培训机构 > 学校动态 > 难怪协程爬虫那么快,原来是因为

难怪协程爬虫那么快,原来是因为

来源:南京CDA数据分析师培训机构时间:2022/12/7 15:32:25

  ❝

  Python三分钟第132篇让大家从协程爬虫和计算密集型和IO密集型两个主题中选取一个来讲解,很多小伙伴表示太难了。

  小孩子才做选择,不能全要吗?

  ❞

  感谢大家的支持,今天的Python三分钟给大家介绍下计算密集型和IO密集型。

  这个知识比较偏硬件,如果掌握这两个知识点,相信大家在异步、并发、并行编程会有更大的进步。

  ❝

  今天的文章也不会出现任何代码,也适合不会Python的同学食用。

  ❞

  什么是CPU密集型

  CPU密集型也叫计算密集型,这部分工作基本上都是都是CPU完成的。

  例如用电脑计算1亿个数的平均数。

  CPU密集表示某任务有着大量的运算且没有阻塞(休息时间),CPU始终全速运行。

  较直观的体现形式是任务开启后,CPU温度将急剧上升,散热风扇运转速度也会变快。

  什么是IO密集型

  与CPU密集型不同,IO密集型工作基本是由磁盘等储存设备完成的。

  IO是输入、输出的缩写(Input、Output)。

  像我们用U盘往电脑拷贝大型文件,那是较经典的IO密集型任务。

  网络爬虫属于CPU密集型任务还是IO密集型任务?

  这个问题不太好回答,要从实际情况进行分析,如果爬虫需要突破对方服务器的安全措施(反爬),可能也会涉及大量的解密计算。

  这样的爬虫应该要被分到CPU密集型任务里去的。

  如果就像上篇文章中的协程爬虫那样,只是负责发送请求和接收请求,CPU参与度不高。

  这样的爬虫应该要被分到IO密集型任务里去的。

  但是协程爬虫存在大量的计算任务,那。。。。。没啥必要用协程了。

  ❝

  如果Baidu的服务器响应速度能再快一点,我相信我们的协程爬虫速度也会更快一点。

  ❞

  Python的GIL

  说到计算密集型就不得不提Python的GIL(全局解释器锁)。

  因为GIL的存在,CPython解释器只能运行在一个进程之中,CPython没有真正的多进程,所以硬件上CPU核心再怎么多也没什么用,CPython只能用到一个核。

  计算密集型是CPython的软肋。

  但是CPython在处理IO密集型任务还是非常棒的,尤其引入了协程之后。

  如果你对GIL的概念一知半解,请留言GIL,我将会专门开一期对其讲解。

领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/6186/news/581601/违者必究! 以上就是南京CDA数据分析师培训机构 小编为您整理 难怪协程爬虫那么快,原来是因为的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-6136-679