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

相关推荐
赞哥哥s17 分钟前
Python脚本开发-统计Rte中未连接的Port
python·autosar·rte
Franklin18 分钟前
Python界面设计【QT-creator基础编程 - 01】如何让不同分辨率图像自动匹配graphicsView的窗口大小
开发语言·python·qt
waynaqua25 分钟前
FastAPI开发AI应用三:添加深度思考功能
python·openai·deepseek
onejason28 分钟前
《利用 Python 爬虫获取 Amazon 商品详情实战指南》
前端·后端·python
苏婳6661 小时前
【最新版】怎么下载mysqlclient并成功安装?
数据库·python·mysql
0wioiw02 小时前
Python基础(Flask①)
后端·python·flask
飞翔的佩奇2 小时前
【完整源码+数据集+部署教程】食品分类与实例分割系统源码和数据集:改进yolo11-AggregatedAttention
python·yolo·计算机视觉·数据集·yolo11·食品分类与实例分割
OperateCode2 小时前
AutoVideoMerge:让二刷更沉浸的自动化视频处理脚本工具
python·opencv·ffmpeg
蔡俊锋2 小时前
Javar如何用RabbitMQ订单超时处理
java·python·rabbitmq·ruby
跟橙姐学代码2 小时前
学Python别死记硬背,这份“编程生活化笔记”让你少走三年弯路
前端·python