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

相关推荐
梅雅达编程笔记2 分钟前
零基础学 Python 第7章 | 字典 dict:键值对存储
开发语言·python·beautifulsoup·numpy·pandas
heroboyluck3 分钟前
AI工程师第四课 - 深度学习入门
人工智能·python·深度学习·llama
alicema111121 分钟前
BRAIN 研究顾问(Research Consultant)兼职
python·量化
元Y亨H26 分钟前
Python,单引号和双引号有何区别
python
超神熊猫40 分钟前
🧀🧀🧀前端仔如何快速上手python
前端·python
卷无止境1 小时前
Flet 完全教程:用纯 Python 构建跨平台应用
前端·python
量化吞吐机1 小时前
2026年AI量化工具评估,先分开学习开发和验证
人工智能·python
白帽小阳2 小时前
Typora插件开发指南:打造专属IDE式写作环境
c语言·网络·python·网络安全·github·pygame·护网行动
满怀冰雪2 小时前
02-安装 PaddlePaddle:CPU、GPU 与环境检查入门
人工智能·python·paddlepaddle