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

相关推荐
好家伙VCC6 分钟前
**发散创新:基于Python的自动化恢复演练框架设计与实战**在现代软件系统运维中,
java·开发语言·python·自动化
爆更小哇10 分钟前
Python自动化测试:pytest新手快速入门指南
python·测试工具·自动化·pytest
西西弗Sisyphus12 分钟前
Python Lambda 表达式等价普通函数实现
python·lambda
张二娃同学19 分钟前
深度学习入门:YOLOv5 与 Fast R-CNN的认识
人工智能·python·深度学习·神经网络·yolo
海天一色y20 分钟前
深度学习时序预测进阶:CNN-LSTM-MHA混合模型+灰狼优化算法(GWO)实战
python
Yu_Lijing22 分钟前
Python数据分析和数据处理库Pandas(Series篇)
人工智能·python·数据分析·pandas
九河_35 分钟前
从requirements.txt中安装缺失的包
python·conda·pip·环境管理
llm大模型算法工程师weng35 分钟前
Python爬虫实现指南:从入门到实战
开发语言·爬虫·python
AI效率工坊43 分钟前
【Python实战】10万行数据自动清洗:pandas+AI智能识别+异常检测完整方案
人工智能·python·pandas
乔江seven1 小时前
LlamaIndex 实现ReAct Agent
前端·python·react.js