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

相关推荐
wayz1110 分钟前
正则表达式:从入门到精通
java·python·正则表达式·编辑器
Promising_GEO14 分钟前
探索Python融合地学:绘制栅格数据经纬度剖面图
开发语言·python·遥感·地理
967715 分钟前
java数据类型解析以及相关八股文的题 String 到底是基本类型还是引用类型?
java·开发语言·python
瞎某某Blinder17 分钟前
DFT学习记录[5]电子结构分析+光学分析
linux·python·科技·学习·生活·matplotlib·帅哥
困死,根本不会21 分钟前
蓝桥杯 Python 备考全攻略:从入门到进阶的学习路线
笔记·python·学习·算法·蓝桥杯
yuyu_030423 分钟前
AI识别手部异常
python·ai
袁袁袁袁满26 分钟前
基于亮数据MCP与LangGraph集成实现爬虫自动化
爬虫·python·网络爬虫·数据采集·爬虫实战·自动化采集·爬虫案例
非凡ghost29 分钟前
proDAD ReSpeedr:专业视频变速编辑的利器
java·网络·windows·python·音视频·软件需求
Oueii33 分钟前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
Jackey_Song_Odd36 分钟前
Part 1:Python语言核心 - 缩进与代码块
开发语言·python