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去执行其他的字节码

相关推荐
qq_白羊座2 分钟前
Langchain、Cursor、python的关系
开发语言·python·langchain
小陈的进阶之路2 分钟前
接口Mock测试
python·mock
kiku18185 分钟前
Python网络编程
开发语言·网络·python
zncxCOS10 分钟前
【ETestDEV5教程30】ICD操作之信号组操作
python·测试工具·测试用例·集成测试
智购科技自动售货机16 分钟前
自动贩卖机厂家哪家价格公道
人工智能·python
Thomas.Sir21 分钟前
智能革命:AI如何重塑金融风控与信贷审批的底层逻辑
人工智能·python·ai·风控
流星蝴蝶没有剑23 分钟前
CoPaw Agent 对接 Python 客户端开发指南:实现流式响应与实时打印
开发语言·python
小陈工33 分钟前
Python Web开发入门(十八):跨域问题解决方案——从“为什么我的请求被拦了“到“我让浏览器乖乖听话“
开发语言·python·机器学习·架构·数据挖掘·回归·状态模式
赵优秀一一38 分钟前
Python 工程化基础1:环境(conda)、pip、requirements.txt
linux·开发语言·python
kaizq40 分钟前
Python-Nacos电商订单分布微服系统开发
python·nacos·分布微服务·ai-ima-glm·电商订单