Dash 2.18.2版本更新:模式匹配回调性能大提升
本文示例代码已上传至我的
Github仓库:https://github.com/CNFeffery/dash-masterGitee同步仓库地址:https://gitee.com/cnfeffery/dash-master
大家好我是费老师,今天Dash发布了2.18.2版本更新,虽然只是一次小版本更新,但其中涉及到的一些内容还是非常重要的,今天的文章中我就来为大家做相关介绍。
终端执行下列命令将Dash升级到最新版本:
pip install dash -U

模式匹配回调函数性能大幅提升
在先前的版本中,基于ALL模式匹配构建的回调函数,当涉及的组件数量非常多时,在触发回调函数时会存在明显的卡顿。
举个简单的例子,我们在页面中渲染了1000个开关组件,通过ALL模式匹配回调,实时统计有多少开关处于打开状态,在未更新前的2.18.1版本下,可以看到每次操作开关时,都伴随着明显的卡顿:

而更新到2.18.2之后,那叫一个丝滑:

示例对应源码如下:
app.py
import dash
from dash import html
import feffery_antd_components as fac
from feffery_dash_utils.style_utils import style
from dash.dependencies import Input, Output, ALL
app = dash.Dash(__name__)
app.layout = html.Div(
[
f"Dash版本:{dash.__version__}",
html.Div(
fac.AntdSpace(
[
fac.AntdSwitch(
id={"type": "test-switch", "index": i}, checked=False
)
for i in range(1000)
],
wrap=True,
),
style=style(
height=300, overflow="auto", padding=5, border="1px solid #bfbfbf"
),
),
fac.AntdText("已打开开关数量:0", id="test-output"),
],
style=style(padding=50),
)
app.clientside_callback(
"(checked_list) => `已打开开关数量:${checked_list.filter(Boolean).length}`",
Output("test-output", "children"),
Input({"type": "test-switch", "index": ALL}, "checked"),
prevent_initial_call=True,
)
if __name__ == "__main__":
app.run(debug=True)
除此之外,此次版本更新中还为常规回调对应的dash.ctx上下文新增了cookies、headers、path、remote、origin等属性,完整的更新内容说明请移步https://github.com/plotly/dash/releases/tag/v2.18.2。
以上就是本文的全部内容,对Dash应用开发感兴趣的朋友,欢迎添加微信号CNFeffery,备注“dash学习”加入我们的技术交流群,一起成长一起进步。
Dash 2.18.2版本更新:模式匹配回调性能大提升的更多相关文章
- 逐浪CMS全面升级为.NET Core 3.0性能大提升
微软发布了.Net Core 3.0正式版,逐浪CMS也在第一时间做了全面升级,并做了一系列的优化和调整,性能大幅提升,并解决了一些历史遗留问题,添加了一些新的功能.如后台固有小程序功能做了升级,功能 ...
- 纸壳CMS 3.0升级.Net Core 2.1性能大提升
微软发布了.Net Core 2.1正式版,纸壳CMS也在第一时间做了升级,并做了一系列的优化和调整,性能大幅提升,并解决了一些历史遗留问题,添加了一些新功能. Github https://gith ...
- java高并发系列 - 第27天:实战篇,接口性能成倍提升,让同事刮目相看,现学现用
这是java高并发系列第27篇文章. 开发环境:jdk1.8. 案例讲解 电商app都有用过吧,商品详情页,需要给他们提供一个接口获取商品相关信息: 商品基本信息(名称.价格.库存.会员价格等) 商品 ...
- 解决Notice错误,性能竟然提升了1000多倍!
先说PHP的deprecated错误的性能问题 最近刚刚完成了一个项目,在测试完基本功能后,我们就发布到线上.结果上线不久就发现产生了大量的错误,如下图: 一看都是PHP的Deprecated错误,是 ...
- OneAPM x 腾讯 | OneAPM 技术公开课·深圳 报名:前端性能大作战!
「 OneAPM 技术公开课」由应用性能管理第一品牌 OneAPM 发起,内容面向 IT 开发和运维人员.云集技术牛人.知名架构师.实践专家共同探讨技术热点. 11月28日,OneAPM 技术公开课第 ...
- CPU性能过剩提升乏力影响未来行业发展吗?
导读 虽然CPU仍然在不断发展,但是它的性能已经不再仅仅受限于单个处理器类型或制造工艺上了.和过去相比,CPU性能提升的步伐明显放缓了,接下来怎么办,成为横亘在整个行业面前的大问题. 虽然CPU仍然在 ...
- MySQL 8.0复制性能的提升(翻译)
What’s New With MySQL Replication in MySQL 8.0 MySQL复制从问世到现在已经经历了多个年头,它的稳定性和可靠性也在稳步的提高.这是一个不停进化的过程,由 ...
- Android 性能优化(18)JNI优化:JNI Tips 提升性能技巧
JNI Tips 1.In this document JavaVM and JNIEnv Threads jclass, jmethodID, and jfieldID Local and Glob ...
- MySQL 5.7 学习:功能性能的提升
背景: 继上次介绍 初识 MySQL 5.6 新功能.参数完之后,刚好MySQL 5.7又GA了,在官方测试里看到,MySQL5.7在功能.性能.可用性.安全和监控上又提升了很高.现在看看和MySQL ...
- C# 之 提高WebService性能大数据量网络传输处理
1.直接返回DataSet对象 特点:通常组件化的处理机制,不加任何修饰及处理: 优点:代码精减.易于处理,小数据量处理较快: 缺点:大数据量的传递处理慢,消耗网络资源: 建议:当应用系统在内网.专网 ...
随机推荐
- [KEYENCE Programming Contest 2023 Autumn(AtCoder Beginner Contest 325) E
KEYENCE Programming Contest 2023 Autumn(AtCoder Beginner Contest 325) - AtCoder E E - Our clients, p ...
- XSS 基本概念和原理介绍
XSS 基本概念和原理介绍 基本概念 跨站脚本攻击 XSS(Cross Site Scripting),为了不和层叠样式表 ( Cascading Style Sheets,CSS ) 的缩写混淆,故 ...
- nexus3.x批量上传Windows本地仓库jar包
亲测可用!!! 传送门:https://blog.csdn.net/lihbps/article/details/104527652
- Ubuntu 安裝 RIME 輸入法
RIME (Rime Input Method Engine,中州韻,中州韵)是一款很火的輸入法,虽然我目前还不知道它为什么火,不过先用用再说. 首先要吐槽一下 RIME 的说明文档,我感觉有点乱,第 ...
- 理解async 和 await
await 后面接的是promise,await语句下面(注意:不是await后面,而是await所在语句的下面,即下行以后)的代码就相当在promise.then()里面执行,有文章说 await后 ...
- 2024DASCTF
DASCTF prese 一眼控制了平坦化,可以用d810梭一下 跟进一下main_crypto这个函数 主要是两部分,第一部分是生成一个256大小的数组,通过输入的长度和遍历生成的一个数组 第二部分 ...
- 005.MinIO-DirectPV分布式多租户存储部署
MinIO部署准备 部署概述 本实验结合Kubernetes进行MinIO部署,实现MinIO于Kubernetes的融合. minio官方支持通过简单的快速部署,以便于进行基础测试: curl ht ...
- WebRTC 简单入门与实践
一.前言 WebRTC 技术已经广泛在各个行业及场景中被应用,但对多数开发者来说,实时音视频及相关技术却是比较不常接触到的. 做为一名 Web 开发者,WebRTC 这块的概念着实花了不少时间才搞明白 ...
- Nodejs+npm详细安装
Nodejs详细安装步骤1.去官网下载nodejs,下载地址:https://nodejs.org/en/download/ 根据自己要求下载,我这里下载的是windows installer的. 2 ...
- 2024 ByteCTF
ByteCTF 极限逃脱 题目描述:本题需要通过动态调试分析出要输入的内容,可能在某些地方会有提示出现. 这是一个IOS逆向,因为没有设备只能静态分析 流程和安卓逆向大概一致 解压拖进ida 提示输入 ...