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

相关推荐
weixin_4684668513 小时前
Prometheus监控服务部署与实战指南
服务器·后端·python·docker·自动化·prometheus
花酒锄作田13 小时前
[Python]标准库argparse解析命令行参数使用介绍
python
卡次卡次113 小时前
vibecoding起步之注意点:如何做一个聊天机器人
python·ai
Hanniel14 小时前
Python 元类(下):进阶与实战建议
开发语言·python
mONESY14 小时前
Python 字典(dict):从原理到实战,彻底搞懂哈希表核心
python
卡次卡次114 小时前
vibecoding起步之注意点:从零到一:Claude Code 接入飞书文档的完整链路
python
Mikowoo00714 小时前
机器学习_梯度计算
人工智能·python·机器学习
雪隐14 小时前
AI股票小助手01-量化交易基础概念
人工智能·后端·python
芝麻开门GEO14 小时前
2026年Q2济南企业如何选择可靠的GEO服务商
大数据·人工智能·python
AI砖家14 小时前
Claude Code 跳过确认完全指南:让 AI 自己完成开发任务
前端·人工智能·python·ai编程·代码规范