手机浏览器扫描二维码访问
本又写了一行。
“那你在实际项目里用过asyncio吗?”
陈哲想了想,摇头:“用过一点。
不过有一次写异步爬虫,aiohttp搭配asyncio,跑起来之后发现有些请求没发出去。
后来查了半天,发现是事件循环里有个地方忘了await。
调了一天才找到。”
提米在旁边笑了一声:“我懂。
我第一次用asyncio的时候,在代码里写了个time.sleep,整个事件循环都卡住了。
后来才知道要用asyncio.sleep。
“7
几个人笑了。
气氛鬆快了一点。
本没笑。
他看著陈哲,又写了一行字。
“那gil在什么情况下是真正的瓶颈?”
陈哲的手指微微紧了一下。
这个问题的方向和他预想的不太一样——不是基础题,是在问真实场景的边界判断。
他想了想,开口:“如果是纯cpu计算,单线程已经跑满一个核心,gil就是瓶颈。
比如科学计算、图像处理、机器学习训练这些场景。
但那种情况一般用numpy,它底层是c,不在python层面算。”
本等著他继续。
“如果是混合场景,”
陈哲说,“计算加i0,比如web服务,gil的影响要看请求量和每个请求的计算占比。
qps不高的时候,gil不是问题。
qps上去之后,每个请求的计算时间只要超过几十毫秒,gil就会开始卡。”
他顿了顿。
“具体閾值要看业务。
一般估算的话,单核能撑的qps上限除以cpu占比,再除以並发係数。
比如单核能撑1000qps纯i0,如果每个请求有10%的cpu计算,那实际能撑的qps大概在100左右。
超过这个数就需要多进程或者换语言。”
本听完,没说话。
他低头在白板上又写了一行字。
这次写得很慢,像是在斟酌什么。
“你写过多线程的生產级代码吗?”
陈哲看著那行字,沉默了两秒。
然后他摇了摇头。
“没有。
我写的都是单机脚本和web后端。
多线程只在demo里跑过,没上过生產。”
本的眉头微微动了一下。
我在遮天修永生是有否晨曦精心创作的灵异,旧时光文学实时更新我在遮天修永生最新章节并且提供无弹窗阅读,书友所发表的我在遮天修永生评论,并不代表旧时光文学赞同或者支持我在遮天修永生读者的观点。...
奠玉群仙座,焚香太乙宫。两个宇宙的对撞吞噬,胜负的关键时刻,叶江川来到了这里。穿越到此,他时常能够来到一间变化万千的小酒馆。这个酒馆似乎有无穷的形态,...
关于另谋高嫁表姑娘休想退婚宋悦意与谢璟令定下了婚约。准备嫁娶之前,被谢家老夫人接过去侍疾。她明知谢家人想利用她的身份和人脉有所作为,她亦装作不知,兢兢业业为他们办好每一件事,为谢璟令铺就青云路只因她认定了这桩婚事,便会一心一意。人家却对她冷若冰霜,离我远点!她以为他性情向来如此。最后才知,人家只是对她才冷若冰霜,他有爱若眼珠子的青梅竹马,阿盈,今生今世,我只承认你是我的妻子。这辈子,我绝不负你。他和他的阿盈还暗...
...
上批逃荒路上任务多,肉和饼子一大锅。下批全家吃喝都不愁,金银珠宝拉满车。横批富可敌国。...
江南小镇,奇案突发。她虽是大夫,奈何临危受命仵作之职,勘验尸体。十指纤纤,本该济世活人,如今却要让死人开口,查明元凶。他是当朝恭亲王容盈,皇帝最宠爱的三皇...