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

相关推荐
LitchiCheng3 分钟前
DGX Spark 进行 Comfyui 文生图,5秒一张图
人工智能·python
幻影123!9 小时前
从零训练一个会下五子棋的AI
python·深度学习·神经网络·强化学习·五子棋·alpha zero·mokugo
Python私教10 小时前
Django 接入 AI 大模型实战:从零做一个流式聊天网站
人工智能·python·django
Python私教10 小时前
Django 接入 MCP 实战:让 AI 安全调用数据库和业务接口
人工智能·python·django
Python私教10 小时前
Django 搭建 AI 本地知识库:文档上传、向量检索与智能问答
人工智能·python·django
always_TT11 小时前
【Python 日志记录:logging 模块入门】
开发语言·python·php
lipku13 小时前
数字人直播开源项目LiveStream
python·开源·数字人·数字人直播
阿童木写作14 小时前
Python实现亚马逊商品图批量智能抠图教程
人工智能·python
axinawang14 小时前
第24课:while循环的应用
python
三亚兴嘉装饰14 小时前
三亚服装店装修
python