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

相关推荐
绘梨衣5479 分钟前
求助帖:pdf复杂表格解析
爬虫·python·pdf
充钱大佬9 小时前
Python测试基础教程
python·log4j·apache
初心丨哈士奇11 小时前
Python 四大基础容器|列表篇
python
明理的信封12 小时前
AI 基础设施的“去 Python 化“:Rust 与 C# 的两条替代路径
人工智能·python·rust
麻雀飞吧13 小时前
2026年AI量化开发,先跑通小流程再加复杂功能
人工智能·python
daphne odera�13 小时前
PyCharm 中 Codex 插件启动失败:unknown variant default 的解决方法
python·chatgpt·pycharm
nbu04william14 小时前
Deepseek-api省token的用法
python·大模型·token·deepseek
测试老哥14 小时前
Pytest自动化测试详解
自动化测试·软件测试·python·测试工具·测试用例·pytest·接口测试
坚持学习前端日记14 小时前
国产化适配全流程适配英伟达本地开发
人工智能·python
源图客15 小时前
云途物流API开发-鉴权认证(Java)
java·网络·python