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

相关推荐
aqi002 分钟前
15天学会AI应用开发(十九)使用LangGraph实现持久记忆功能
人工智能·python·大模型·ai编程·ai应用
月光船幽幽8 分钟前
KDTree查表实现观测到动作的统计映射
python
2401_8685347810 分钟前
论信息系统安全保障规划与设计
python·django
微小冷15 分钟前
Optiland近轴光学
python·光学仿真·optiland·几何光学·近轴光学·高斯光学
databook21 分钟前
基于模型的重要性评分进行“特征排序”
python·机器学习·scikit-learn
码云骑士33 分钟前
94-实战Prompt优化师Agent-迭代优化-效果评分-自动生成Few-Shot
python·prompt
从零开始学习人工智能1 小时前
PyTorch 踩坑:Input type \(Half\) and bias type \(float\) 类型不匹配终极解决方案
人工智能·pytorch·python
海盗12341 小时前
微软技术日报——2026-08-07
python·microsoft·flask
醉城夜风~1 小时前
querySelector()
人工智能·python·tensorflow
看浪的路人2 小时前
第5讲:代码审查与 Bug 检测
开发语言·windows·python