当前位置: 首页 > article >正文

pytest - 多线程提速

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


http://www.kler.cn/a/320178.html

相关文章:

  • 高防服务器实现防御的方式,高防服务器的优势
  • 某校园网登录界面前端加密绕过
  • STM32 独立看门狗(IWDG)详解
  • 小程序-基于java+SpringBoot+Vue的小区服务管理系统设计与实现
  • 任务管理功能拆解——如何高效管理项目任务?
  • Java 使用MyBatis-Plus数据操作关键字冲突报错You have an error in your SQL syntax问题
  • C# 串口通信的简单概述
  • Delphi 12.2 新出的 WebStencil 组件和 Quill 编辑器配合的问题
  • [uni-app]小兔鲜-02项目首页
  • spark,poi,jar包冲突(commons.io)
  • Mora:多智能体框架实现通用视频生成
  • K8s Fedora单机版
  • 人生苦短,我用Python✌
  • 创业者必备的7个AI工具
  • Vue 入门之 computed 计算属性
  • 进阶SpringBoot之 Dubbo 及 Zookeeper 安装
  • SPSS26统计分析笔记——5 卡法检验
  • 828华为云征文|华为云Flexus云服务器X实例——部署EduSoho网校系统、二次开发对接华为云视频点播实现CDN加速播放
  • 【机器学习】——线性回归(自我监督学习)
  • 关于ollama 在mac的部署问题
  • 在nuxt中集成mars3d
  • 极狐GitLab 17.4 重点功能解读【四】
  • 基于深度学习的人机情感交互
  • Java微服务商城系统的特点有哪些
  • LaTeX 编辑器-TeXstudio
  • 基于深度学习的情感生成与交互