pytest - 多线程提速

news/2024/9/29 18:07:29 标签: pytest, python

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


http://www.niftyadmin.cn/n/5683496.html

相关文章

最新版ingress-nginx-controller安装 使用host主机模式

最新版ingress-nginx-controller安装 使用host主机模式 文章目录 最新版ingress-nginx-controller安装 使用host主机模式单节点安装方式多节点高可用安装方式 官方参考链接: https://github.com/kubernetes/ingress-nginx/ https://kubernetes.github.io/ingress-ng…

「Python入门」vscode的安装和python插件下载

粗浅之言,如有错误,欢迎指正 文章目录 前言Python安装VSCode介绍VSCode下载安装安装python插件 前言 Python目前的主流编辑器有多个,例如 Sublime Text、VSCode、Pycharm、IDLE(安装python时自带的) 等。个人认为 vscode 虽然在大型项目上有…

前端框架对比、分析与选择

在现代Web开发中,选择合适的前端框架对于项目的成功至关重要。本文将详细对比分析Vue.js、Angular、React和Layui这四种前端框架,帮助开发者做出明智的选择。 一、概述 1. Vue.js Vue.js是由尤雨溪创建的一个渐进式JavaScript框架,旨在通过简…

爬虫选择大战:Scrapy vs Selenium,谁主沉浮?

在互联网时代,爬虫技术已成为数据获取与分析的重要工具。而在选择爬虫框架时,Scrapy和Selenium无疑是两大热门选手。那么,面对这两大强手,我们该如何抉择呢?本文将从功能特点、适用场景及代码演示等方面,为…

oracle解决关联查询报invalid number问题

出现问题的原因和背景 oracle进行关联查询的时候因为字段存在多个用逗号切割的id,导致查询的过程中报无效数字或非法数字 问题复现 新建表A CREATE TABLE "A" (id NUMBER NOT NULL,name VARCHAR2(255 BYTE) )INSERT INTO "A" VALUES (1, 上海…

工作中使用人工智能的政策和程序的重要性

在当今快速发展的技术环境中,人工智能 (AI) 已成为各行各业业务运营不可或缺的一部分。作为政策管理者,必须了解在组织内制定强有力的 AI 使用政策和程序的重要性。 这不仅可以确保合规性和道德标准,还可以保护组织免受潜在风险并最大限度地…

高空抛物AI检测算法:精准防控,技术革新守护城市安全

近年来,随着城市化进程的加速,高楼大厦如雨后春笋般涌现,但随之而来的高空抛物问题却成为城市管理的一大难题。高空抛物不仅严重威胁行人的安全,还可能引发法律纠纷和社会问题。为了有效预防和减少高空抛物事件的发生,…

将相机深度图转接为点云的ROS2功能包

depth_image_proc 是一个 ROS(Robot Operating System)包,它包含了一系列节点,用于处理来自深度相机的图像数据,并将其转换为点云。以下是 depth_image_proc 包中各个节点的作用: convert_metric_node&…