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

相关推荐
开发者联盟league1 分钟前
pip install出现报错ERROR: Cannot set --home and --prefix together
开发语言·python·pip
Cloud_Shy6185 分钟前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(附录 C 高级 Python 概念)
python·数据分析·excel
隔壁大炮6 分钟前
MNE-Python 第2天学习笔记:Montage与通道信息管理
python·eeg·mne·脑电数据处理
涛声依旧-底层原理研究所14 分钟前
防止Agent胡来五大安全防线
人工智能·python
RSTJ_162516 分钟前
PYTHON+AI LLM DAY FIFITY-THREE
开发语言·人工智能·python
晚烛18 分钟前
CANN 模型蒸馏实战:大模型知识迁移到小模型
python·线性代数·矩阵
俊哥工具19 分钟前
解决网速卡顿、断网、网络报错,万能网络修复工具教程
网络·python·django·计算机外设·智能路由器·pygame
WL_Aurora20 分钟前
Python爬虫实战(九):百度百聘招聘数据采集
爬虫·python·百度
lili001221 分钟前
Gemini 3.5发布后的AI格局:谷歌重新定义行业标准
java·人工智能·python·ai编程
JunLa25 分钟前
Java语法糖
java·python·哈希算法