多维表格/业务库表格大数据量性能瓶颈

news2024/11/24 12:53:42

先说最终结论:Angular 组件创建性能损耗是当下主要的性能瓶颈

理由:
基于以往编辑器性能优化的经验,编辑器在动态渲染内容时会创建很多壳子组件(也就是Angular 组件),排查的时候就发现如果略这些壳子组件性能可以有一倍的提升,所以有了对编辑器的一次大的性能优化 #TECHW-20 编辑器性能优化:使用 ListRender 渲染列表 ,核心就是自己写列表的渲染去掉中间的壳子组件。
排查业务组件库表格性能问题(styx-table),发现了同样的问题,就是在组件进入 reflow 之前会有很长一段时间的 js 的执行时间,300 条数据、9个字段 大概有 350ms 的纯脚本的执行时间,这 350ms 应该是 angular 组件创建的性能损耗。
v-table 上简单测试,渲染 240 行、30 个字段,各种场景下:

  1. 壳子组件(grid-cell)500ms
  2. 使用模版(ng-template)100ms
  3. 直接绑定 40ms

初步方案:
表格核心部分的渲染不基于 Angular 组件,而是基于原生 HTML 或者 WebComponent 组件(需要验证性能表现),这种方案的带来的问题是需要自己重写每一种字段的显示组件,无法复用组件库或者业务组件库组件,而单元格的编辑可以通过桥接、定位的方式复用业务组件库组件

测试表现:

在这里插入图片描述

<div class="grid-cell">
  <div class="text-column">
    <span class="d-block">{{ data.value }}</span>
  </div>
</div>

模版

<ng-template #text let-data="data">
  <div class="grid-cell">
    <div class="text-column">
      <span class="d-block">{{ data.value }}</span>
    </div>
  </div>
  <!-- <ng-template [ngTemplateOutlet]="text2" [ngTemplateOutletContext]="{ data }"></ng-template> -->
</ng-template>

模版套模版

<ng-template #text let-data="data">
  <!-- <div class="grid-cell">
    <div class="text-column">
      <span class="d-block">{{ data.value }}</span>
    </div>
  </div> -->
  <ng-template [ngTemplateOutlet]="text2" [ngTemplateOutletContext]="{ data }"></ng-template>
</ng-template><ng-template #text2 let-data="data">
  <div class="grid-cell 22">
    <div class="text-column">
      <span class="d-block">{{ data.value }}</span>
    </div>
  </div>
</ng-template>

组件

<!-- 使用组件 -->
<v-table-text
[value]="data.value"
></v-table-text>
<!-- 内部模版 -->
<!-- <v-table-text2 value="{{value()}}"></v-table-text2> -->
<span class="d-block">{{ value() }}</span>

组件套组件

<!-- 使用组件 -->
<v-table-text
[value]="data.value"
></v-table-text>
<!-- 内部模版 -->
<v-table-text2 value="{{value()}}"></v-table-text2>
<!-- <span class="d-block">{{ value() }}</span> -->

模版套模版性能损甚至比组件套组件损耗大

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1846312.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索Lazada商品数据宝库——一键获取商品详细数据信息

一、引言 在电商领域&#xff0c;Lazada凭借其广泛的商品种类和便捷的购物体验&#xff0c;成为东南亚地区备受欢迎的电商平台。然而&#xff0c;对于许多商家和数据分析师来说&#xff0c;获取商品详细数据信息却是一项繁琐而重要的任务。为了解决这个问题&#xff0c;我们精…

内容安全复习 9 - 身份认证系统攻击与防御

文章目录 基于生物特征的身份认证系统概述基于生物特征的身份认证 人脸活体检测检测方法未解决问题 基于生物特征的身份认证系统概述 作用&#xff1a;判别用户的身份、保障信息系统安全。 是识别操作者身份的过程&#xff0c;要保证其**物理身份&#xff08;现实&#xff0…

openppp2 命令行接口详解

openppp2 是一个工作在 OSI/3 Layer 网络通信层的虚拟以太网工具链的开源软件&#xff0c;在查阅本文之前&#xff0c;人们可以查阅以下资料。 开源仓库&#xff1a; liulilittle/openppp2: PPP PRIVATE NETWORK™ 2 VPN Next Generation Reliable and Secure Virtual Etherne…

一次压测引发的数据库 CPU 飙升

作者&#xff1a;昀鹤 一次压测过程中&#xff0c;当数据库的 qps 和 tps 都正常时&#xff0c;如果 cpu 利用率异常的高&#xff0c;应该如何排查&#xff1f;希望通过这篇文章&#xff0c;给你一些启发... 一、业务背景 业务需要控制频道内兑换现金的数量&#xff0c;于是在…

恭喜行云绽放,24年再度荣获国家鼓励的企业软件证书

在刚刚过去的五月份&#xff0c;行云绽放再次传来一个好消息&#xff0c;那就是2024年行云绽放再度荣获国家鼓励的企业软件证书。 什么是国家鼓励的企业软件证书&#xff1f; 国家鼓励的企业软件证书被称为“国家鼓励的软件企业证书”&#xff0c;这一证书由中国软件行业协会…

网站https逐渐普及,选择合适的SSL证书

目录 为什么实现https访问逐渐成为主流&#xff1a; 为什么要选择合适的SSL证书&#xff1a; 目前主流的三种域名证书及IP证书&#xff1a; 怎样申请SSL证书&#xff1a; 随着国内网络安全信息的逐渐普及&#xff0c;绝大部分的网站目前都配置了SSL证书用于实现https访问&a…

ModelScope联手OpenDataLab:直接调用7000+开源数据集,赋能AI模型加速研发

在人工智能的演进历程中&#xff0c;数据和模型的整合是推动技术发展的核心动力。随着AI技术的不断进步&#xff0c;整合各类关键资源&#xff0c;构建一个高效、协同的开发环境&#xff0c;已成为加速创新应用发展的关键。 基于这一理念&#xff0c;OpenDataLab浦数与ModelSc…

解锁私域电商潜力:构建与维护强大私域生态

大家好&#xff0c;我是专注于私域电商领域的技术专家&#xff0c;拥有丰富的行业经验。在今天的分享中&#xff0c;我将带大家深入理解私域流量的精髓&#xff0c;并探讨如何构建一个充满活力且高效的私域生态。在数字化浪潮下&#xff0c;如何深化用户关系并挖掘其潜在价值&a…

mybatis动态传参pgsql日期Interval

在navicat16中&#xff0c;标准写法 SELECT * FROM business_status_info WHERE create_time > (NOW() - INTERVAL 5 minutes) 在mybatis中&#xff0c;错误写法 SELECT * FROM business_status_info WHERE create_time > (NOW() - INTERVAL #{monitorTimeInterval,jdbc…

git 配置私人令牌

这里写自定义目录标题 获取私人令牌配置个人令牌 获取私人令牌 在个人设置里点击私人令牌选型&#xff0c;之后生成令牌即可。注意&#xff1a;令牌只会出现一次&#xff0c;务必保存好。 配置个人令牌 个人令牌&#xff1a;3c15c866fa61066212a83c66fd8133ba # 进入项目文…

使用开源的 LLM 充当 LangChain 智能体

开源 LLM 现已达到一定的性能水平&#xff0c;可堪作为智能体工作流的推理引擎。在我们的测试基准上&#xff0c;Mixtral 甚至已超越 GPT-3.5&#xff0c;而且我们还可以通过微调轻松地进一步提高其性能。 引言 经由因果语言建模任务训练出的大语言模型&#xff08;LLM&#…

智源联合多所高校推出首个多任务长视频评测基准MLVU

当前&#xff0c;研究社区亟需全面可靠的长视频理解评估基准&#xff0c;以解决现有视频理解评测基准在视频长度不足、类型和任务单一等方面的局限性。因此&#xff0c;智源联合北邮、北大和浙大等多所高校提出首个多任务长视频理解评测基准MLVU&#xff08;A Comprehensive Be…

ES全文检索支持繁简和IK分词检索

ES全文检索支持繁简和IK分词检索 1. 前言2. 引入繁简转换插件analysis-stconvert2.1 下载已有作者编译后的包文件2.2 下载源码进行编译2.3 复制解压插件到es安装目录的plugins文件夹下 3. 引入ik分词器插件3.1 已有作者编译后的包文件3.2 只有源代码的版本3.3 安装ik分词插件 4…

超声波清洗机的优势到底有哪些?四款精良爆品总结安利,质量放心

眼镜是现代人生活中的必备物品&#xff0c;但是很多人可能对于如何正确清洗眼镜感到困惑。传统的清洗方法可能会在清洗过程中对眼镜造成损坏&#xff0c;例如使用普通肥皂或清水清洗时容易划伤镜片。为了解决这个问题&#xff0c;家用眼镜超声波清洗机应运而生。超声波清洗机利…

四川赤橙宏海商务信息咨询有限公司可信吗?

在数字化浪潮席卷全球的今天&#xff0c;电商行业正以前所未有的速度蓬勃发展。作为这一领域的佼佼者&#xff0c;四川赤橙宏海商务信息咨询有限公司凭借其在抖音电商服务领域的深厚积累和卓越表现&#xff0c;成为了引领行业创新发展的重要力量。 四川赤橙宏海商务信息咨询有…

海豚调度调优 | 正在运行的工作流(DAG)如何重新拉起失败的任务(Task)

&#x1f4a1; 本系列文章是DolphinScheduler由浅入深的教程&#xff0c;涵盖搭建、二开迭代、核心原理解读、运维和管理等一系列内容。适用于想对 DolphinScheduler了解或想要加深理解的读者。 *祝开卷有益。 * 本系列教程基于 DolphinScheduler 2.0.5 做的优化。&#xff…

uniapp 打包 H5 实现在 uniapp 打包 APP 的 webview 通信

一、前言 遇到 uniapp 打包的 APP 在 webview 内嵌入 uniapp 打包的 H5 页面的需求&#xff0c;并实现通信。本篇主要总结了如何实现并总结遇到的问题&#xff0c;希望可以帮助大家减少负担。 实现需求主要有三个地方需要处理&#xff1a; index.html 的打包配置导入 uni.we…

SVN学习(003 svn安装和配置subversive)

尚硅谷SVN高级教程(svn操作详解) 总时长 4:53:00 共72P 此文章包含第30p-第p41的内容 介绍 安装 字符集记得先改成utf-8 这里无svn的插件 打开应用插件市场&#xff08;需要有网络&#xff09; 重启 svn文件夹 安装svn连接器 这两个用哪个都行 svn版本号是1.6 所以…

代码随想录算法训练营第六十六天 |101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿

101.孤岛的总面积 文字讲解&#xff1a;101. 孤岛的总面积 | 代码随想录 解题思路 本题要求找到不靠边的陆地面积&#xff0c;那么我们只要从周边找到陆地然后 通过 dfs或者bfs 将周边靠陆地且相邻的陆地都变成海洋&#xff0c;然后再去重新遍历地图 统计此时还剩下的陆地就…

360°环绕拍摄图片的作用 欧保图 ORBITVU

360环绕拍摄图片在电商中的应用及其优势 ORBITVU 波兰 欧保图 360环绕拍摄图片是一种动态的产品展示方式&#xff0c;它允许消费者从不同角度全方位地查看产品&#xff0c;这种交互式的体验大大增强了用户的购物体验。以下是360环绕拍摄图片在电商中的一些具体应用及其带来的优…