pytest - 多线程提速

python 复制代码
import time

def test1_test1():
    time.sleep(1)

    assert 1 == 1, "1==1"


def test1_test2():
    time.sleep(1)

    assert 1 == 1, "1==1"

上面2个函数,执行情况:

  • 正常执行时,花费 2.08s
  • 2个进程执行时,花费 1.18s
  • 2个线程执行时,花费 1.15s

问题:python有GIL(全局解释器锁),同一时刻只能执行一条线程的字节码指令,那么为什么pytest执行用例时,多线程会加快执行速度?

暂时得到的答案:time sleep 属于IO bound的任务。在IO bound的时候切换CPU去执行其他的字节码

相关推荐
深蓝电商API6 小时前
Scrapy杜绝重复请求:Rfpdupfilter源码分析与优化
爬虫·python·scrapy
ID_180079054736 小时前
乐天(Letian)商品详情API接口的调用示例与代码实现
开发语言·python
南 阳6 小时前
Python从入门到精通day10
linux·windows·python
mftang6 小时前
Python 获取当前目录的多种方法
python
晨非辰6 小时前
C++波澜壮阔40年|类和对象篇:拷贝构造与赋值重载的演进与实现
运维·开发语言·c++·人工智能·后端·python·深度学习
多米Domi0116 小时前
0x3f 第36天 外卖8,9,树
数据结构·python·算法·leetcode
天才测试猿6 小时前
Chrome浏览器+Postman做接口测试
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
zckui6 小时前
conda常用命令
python·conda
张3蜂6 小时前
Label-Studio图片标注初体验
python·开源
深蓝电商API6 小时前
Scrapy LinkExtractor参数详解与复杂链接提取
爬虫·python·scrapy