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

相关推荐
sunywz9 分钟前
【JVM】(2)java类加载机制
java·jvm·python
Silence_Jy13 分钟前
GPU架构
python
kwg12617 分钟前
本地搭建 OPC UA MCP 服务
python·agent·mcp
belldeep19 分钟前
python:mnist 数据集下载,parse
python·numpy·mnist
柠檬叶子C34 分钟前
【Python】解决 No module named ‘imp‘ 问题 | Python3 中废弃的 imp 模块
开发语言·python
我想吃烤肉肉36 分钟前
wait_until=“domcontentloaded“ 解释
开发语言·前端·javascript·爬虫·python
weixin1997010801639 分钟前
废旧物资 item_search - 按关键字搜索商品列表接口对接全攻略:从入门到精通
数据库·python
海棠AI实验室40 分钟前
第二章 从脚本到工程:进阶学习的 5 个方法论(可维护性/可复现/可评估/可扩展/可交付)
python·数据
学习3人组1 小时前
CentOS 系统下 ModelScope 模型下载的默认目录
linux·python·centos
song150265372981 小时前
空间站太阳能帆板电池 组件性能测试 AM0太阳光模拟器
开发语言·python