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

相关推荐
databook2 分钟前
用 SymPy 解决 Manim 曲线绘制速度不均的问题
python·数学·动效
宇宙无敌程序员菜鸟3 分钟前
浅玩CRUD Agent
python
程序大视界3 分钟前
【Python系列课程】Python入门教程
开发语言·人工智能·python
morning_judger10 分钟前
Agent系列(二)-记忆系统的设计
开发语言·python·机器学习
RSTJ_162513 分钟前
PYTHON+AI LLM DAY SIXTY-ONE
开发语言·python
TickDB32 分钟前
智谱GLM-4 接金融数据:工具描述多写三个字,模型少犯一类错
人工智能·python·websocket·行情数据 api·行情 api
用户03321266636740 分钟前
使用 Python 在 Excel 中查找并高亮显示
python
sugar__salt44 分钟前
Prompt工程实战指南:规范设计、LLM接口封装与避坑技巧
人工智能·python·prompt
码界筑梦坊2 小时前
282-基于Python的豆瓣音乐可视化分析推荐系统
开发语言·python·信息可视化·数据分析·flask·vue
LJianK12 小时前
java多态
java·开发语言·python