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

相关推荐
bug嘛我经常写14 分钟前
dbf文件UTF-8转GBK编码,以及两编码文件互转
数据库·python
胡耀超17 分钟前
AI出事后,怎么查?——读《AI Forensics》
人工智能·python·数字取证·ai取证·
梦想三三30 分钟前
Python从零实现AI Agent电商客服(Qwen/Ollama+SQLite源码解析)
人工智能·python·sqlite
鹿鹿学长32 分钟前
国赛工业应用数学题:从31省规上工业数据到生产排程,四类高频赛题的破题打法
python·自动化
笨鸟先飞,勤能补拙38 分钟前
密码学深度指南 — SecOps 工程师实战手册
人工智能·vscode·python·安全·github·密码学·visual studio
淼澄研学41 分钟前
PyTorch核心实操:从张量计算到混合精度训练的5个关键步骤
人工智能·pytorch·python
梦想三三1 小时前
Qwen Function Calling实战:重构电商客服AI Agent
人工智能·python·langchain·大模型·rag
0566461 小时前
agent学习Day23——文件上传与 Embedding 语义检索
python·学习·embedding
leisoo80971 小时前
筹码分布数据分析实战:用Python构建主力建仓成本分析系统
python·数据挖掘·数据分析
淼澄研学1 小时前
PyTorch 2.0 核心机制解析与5个实操方法
人工智能·pytorch·python