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

相关推荐
love530love25 分钟前
OpenClaw Windows Companion 桌面客户端 连接 LM Studio 完整配置指南
人工智能·windows·python·openclaw
cui_ruicheng2 小时前
Python从入门到实战(十六):多进程编程
开发语言·python
_Jimmy_4 小时前
FastAPI + SQLAlchemy全局事务管理
python·fastapi
用户8356290780514 小时前
如何使用 Python 在 Excel 中添加、编辑和删除超链接
后端·python
AC赳赳老秦6 小时前
企业工商公开信息采集分析:OpenClaw 批量查询企业工商信息,生成企业画像报告
大数据·开发语言·python·自动化·php·deepseek·openclaw
FoldWinCard6 小时前
D6 Python 基础语法 --- 保留关键字
开发语言·python
暮暮祈安7 小时前
Celery 新手入门指南
java·数据库·python·flask·httpx
JustNow_Man7 小时前
每日高频场景英文口语
python
风吹心凉8 小时前
python3基础2026.7.22
开发语言·python
小猴子爱上树9 小时前
一站式解决图片视频翻译难题的高效AI工具
人工智能·python·音视频