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

pytest - 多线程提速

import timedef 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.lryc.cn/news/449422.html

相关文章:

  • python中logging的用法
  • 【YOLO目标检测车牌数据集】共10000张、已标注txt格式、有训练好的yolov5的模型
  • gdb xterm 调试 openmpi 程序
  • 【STM32】江科大STM32笔记汇总(已完结)
  • Java基础扫盲(二)
  • 兼容React的刮刮乐完整代码实现
  • PHP程序如何实现限制一台电脑登录?
  • nodejs fs 模块的简介与相关案例
  • 计算机毕业设计 基于Flask+Vue的博客系统 Python毕业设计 前后端分离 附源码 讲解 文档
  • 基于SSH的酒店管理系统的设计与实现 (含源码+sql+视频导入教程)
  • 消息队列10:为RabbitMq添加连接池
  • 在使用 Docker 时,用户可能会遇到各种常见的错误和问题
  • MinIO使用客户端进行桶和对象的管理
  • 数据库管理-第244期 一次无法switchover的故障处理(20240928)
  • 太绝了死磕这本大模型神书!
  • Kevin‘s notes about Qt---Episode 6 不同类中创建同一对象
  • YOLOv9改进策略【Conv和Transformer】| AssemFormer 结合卷积与 Transformer 优势,弥补传统方法不足
  • Git 的安装和配置
  • InternVL 微调实践
  • 自然语言处理在人工智能领域的发展历程,以及NLP重点模型介绍
  • Replit Agent:AI驱动的全自动化软件开发革命
  • SAP调用发起泛微OA流程
  • JAVA毕业设计184—基于Java+Springboot+vue3的企业信用信息管理系统(源代码+数据库)
  • webshell-HTTP常见特征
  • docker简单熟悉
  • 《深海迷航》风灵月影修改器进阶教程:揭秘海底无限奥秘
  • 为什么说函数传递参数最好小于四个
  • 三维立体自然资源“一张图”
  • 语言的重定向
  • Snap 发布新一代 AR 眼镜,有什么特别之处?