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

相关推荐
新知图书15 小时前
【图书推荐】《Python大数据分析师的算法手册》
python·数据分析
apcipot_rain15 小时前
Python 脚本生成目录树
开发语言·python
港股研究社16 小时前
广汽年报里的隐线:组织改革、生态协同与修复起点
python
Sirius.z16 小时前
第T11周:优化器对比实验
python
loriloy16 小时前
Python 环境管理工具 pyenv-win (windows版本)
windows·python·pyenv-win
William Dawson16 小时前
【Java Stream 流:高效、优雅的集合操作 ✨】
java·windows·python
剑穗挂着新流苏31216 小时前
208_深度学习的鲁棒性之美:暂退法(Dropout)原理与实战
开发语言·pytorch·python·深度学习
SeatuneWrite16 小时前
AI仿真人剧供应商2025推荐,高效内容创作与分发解决方案
人工智能·python
ATMQuant16 小时前
以AI量化为生:20.实时图表交易系统开发
python·量化交易·实盘交易·vnpy·k线图表
搜狐技术产品小编202316 小时前
端侧Python动态算法策略的部署与运行
开发语言·python