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

相关推荐
nangonghen1 分钟前
Agent如何传递不同类型的ID给MCP Server
开发语言·python
weixin_398831664 分钟前
佛山AI推广GEO哪家做的专业
人工智能·python
taller_200015 分钟前
【006】何时用 Python?何时用 Excel 公式?一文讲清
python·excel·公式·pie·py
2601_9623815827 分钟前
物联网场景下的 Python 边缘计算轻量化方案解析与实战落地
python·物联网·边缘计算·数据处理·轻量化方案
whcyhhh35 分钟前
头歌实践教学平台:大数据存储2023(十三1)
大数据·数据库·python
2601_9669496538 分钟前
9:25-9:30 如何获取 A 股开盘基准价?QuantDash Python SDK 实战初始化量化策略状态
开发语言·人工智能·python·量化·quantdash·量化数据源
卷无止境42 分钟前
从一杯咖啡的订单说起,数据库设计到底是怎么长出来的
后端·python
2601_9620662343 分钟前
golang超详细基础入门教程_golang教程
前端·python·golang
逗脑IDE1 小时前
零基础学ESP32:蜂鸣器——让ESP32会“唱歌”!
python·物联网·esp32·智能家居
TomEval1 小时前
【Web UI 自动化】08 - 企业选型·报告·CI/CD
python·功能测试