项目开发完成的技术总结 && JS执行效率探究

提升 JavaScript 性能:加快代码执行速度的有效策略 JavaScript 是一种广泛使用的编程语言,为网站和 Web 应用程序的交互元素提供支持。作为开发人员,优化 JavaScript 代码以获得更好的性能对于提供流畅的用户体验至关重要。在本文中,我们将更深入地探讨可以显着提高 JavaScript 代码执行速度的有效策略和技术。 阅读详情
初步开发完成,一会儿要提测

过程中有一点让我及其在意,就是JS的执行效率。在改变了
某个地方
之后快了100倍 以下探究具体原因在这里插入图片描述在这里插入图片描述

利用JSON+数组结构存储数据的行列(时间与数目)不同方式导致的数组个数不同 使得耗费巨量时间:

方式1

测试以下代码()

console.time('time'); 
	var json={};
	for(var j=0;j<DEFECT_CNAME.length;j++){//把缺陷名按顺序放入JSON中  为对应DEFECT_CNAME以便循环输出
		json[DEFECT_CNAME[j]]=new Array();//放入数组
		for (var i = 0; i < PRODUCE_TIME.length; i++) {
			json[DEFECT_CNAME[j]][i] = new Array();
			for (var x= 0; x < 3; x++) {
				if(x==0){
					json[DEFECT_CNAME[j]][i][x] = PRODUCE_TIME[i];
				}else{
					json[DEFECT_CNAME[j]][i][x] = 0;
				}
			}
		}
	}	

	console.timeEnd('time'); 	
	var j=0;

执行结果如下:
在这里插入图片描述

耗时在这里插入图片描述

方式2
console.time('time'); 
	var json={};
	for(var j=0;j<DEFECT_CNAME.length;j++){//把缺陷名按顺序放入JSON中  为对应DEFECT_CNAME以便循环输出
		json[DEFECT_CNAME[j]]=new Array();//放入数组
		for (var i = 0; i < 2; i++) {
			json[DEFECT_CNAME[j]][i] = new Array();
			for (var x= 0; x < PRODUCE_TIME.length; x++) {
				json[DEFECT_CNAME[j]][i][x] = 0;
			}
		}
	}
	console.timeEnd('time'); 

执行结果如下:
在这里插入图片描述
耗时在这里插入图片描述
确实快了三倍左右,但显然问题不在这里

而在真正完成所有开发任务的三天后,速度如图:在这里插入图片描述

回想下开发过程,大概率得益于:
1、数据那边终于给表加了索引。
2、我在后台查询根据分页数和展示数做了限制,前后台需要处理的数据量小了,一开始依次查五万条…
3、优化了查询语句,修改SQL,利用双GROUP BY将初步的数据处理放在了查询上,简化了前后台处理数据的逻辑。

技术总结:

数据处理的优先级是:

1、

数据库优化绝对的优先,分库分表/加索引等手段,效率最高,优化效果最好;

2、

然后才是SQL语句来根据不同需求查表做处理,比后台前台得处理更有效率;

3、

SQL处理不了的,需要根据用户得操作来的那些需求的逻辑,才是真正需要用前后台的JAVA/JS来码代码处理的。
但这部分也要考虑很多,例如JVM的对象gc问题控制程序的对象数量,逻辑优化少用递归,少用if多用switch,利用语法糖,多克隆接口,特定情况甚至要考虑利用多线程…java编程能力方面提升空间还很大

4、

前台JS非必要不写复杂逻辑,不同客服访问的客户端性能不同,可能会造成不同的用户体验感

5、

这次开发学到了很多东西 更重要的是学到了很多解决问题的方法 感觉自己获得了成长
最最最最重要的是 自己第一次真正的在开发中,在工作中感受到了它所带来的快乐,乐在其中的工作状态真的很棒
希望未来能将这中势头持续下去

高性能WEB开发:Javascript自身执行效率  Javascript中的作用域链、闭包、原型继承、eval等特性,在提供各种神奇功能的同时也带来了各种效率问题,用之不慎就会导致执行效率低下。 1、全局导入   我们在编码过程中多多少少会使用到一些全局变量(window、document、自定义全局变量等等),了解javascript作用域链的人都知道,在局部作用域中访问全局变量需要一层一层遍历整个作用域链直至顶级作用域,而局部变量的访问效率则会更快更高,因此在局部作用域中高频率使用一些全局对象时可以将其导入到局部作用域中,例如: //1、作为参 阅读详情

相关推荐

智能家居DIY:用51单片机实现三合一环境监测(温湿度+烟雾+自动灭火)

本文详细介绍了如何利用STC89C52单片机打造智能家居三合一环境监测系统,集成温湿度检测、烟雾报警和自动灭火功能。从硬件选型、电路设计到软件编程,提供完整的DIY方案,帮助读者构建高性价比的家庭安全防护系统,特别适合智能家居爱好者和电子DIY初学者。

yhn4567890的博客 692

四种读入方式的效率对比

序: 之前在一篇关于vector的push_back和resize()等方式读取数据的效率对比中,我们发现最快的是通过读入优化。这次将测试四种读入方式的效率对比: 两种读入优化,scanf与fscanf。 测试数据采用随机生成的10000000个int型整数,在windows环境下运行。 测试时间由time.h中的函数计算。 四种读取方式: int input; in...

weixin_30667301的博客 335

WinCC动态选择报警记录案例

本例中需要确认查询的时间段以及查询的关键字,然后通过一个按钮来执行报警数据查询脚本,并把查询出的结果加载到当前报警控件中。<本例中数据查询脚本的思路是根据选项组所选定的参数加载相应的归档变量到在线趋势控件,根据设定的查询时间范围设定控件时间轴的开始时间及结束时间。本文以 WinCC V8.0为例,介绍如何动态的查询WinCC报警记录,包括关键字查询/时间&关键字查询,如图1所示。<在WinCC变量管理中创建不同的变量组,并在变量组下创建相应的变量,如图2 所示(下图并非实际变量值)。

weixin_45072604的博客 2711

JavaScript代码最好的写法

JavaScript代码的速度被分成两部分:下载时间和执行速度。 Web浏览器下载的是js源码,因此所有长变量名和注释都回包含在内。这个因素会增加下载时间。1160是一个TCP-IP包中的字节数。最好能将每个javascript文件都保持在1160字节以下以获得最优的下载时间。 由于这个原因,要删除注释、删除制表符和空格、删除所有的换行、将长变量名缩短。 遵循这4条比较困难。因此用外部...

weixin_30776863的博客 259

RISC-V内核移植实战:从零开始手把手实现RT-Thread上下文切换(附GD32VF103代码解析)

本文详细解析了在RISC-V架构上移植RT-Thread实时操作系统的核心步骤,重点聚焦于上下文切换机制的实现。通过对比ARM Cortex-M与RISC-V在中断处理和寄存器管理上的关键差异,并以GD32VF103开发板为例,手把手指导开发者完成libcpu抽象层适配、线程栈初始化以及三种上下文切换方式的代码编写与调试,为嵌入式开发者从ARM转向RISC-V平台提供了实战指南。

fern8的博客 739

skill使用教程,从小白到大神进阶

(2)突然无法使用(NodeJS安装参考):如果正常使用中,突然发现claude命令无法启动claude-code了,可能是claude-code正在后台自动更新,等待几分钟后再尝试使用,如果还是不行,请先运行下列代码移除claude-code,注意,如果你的node安装目录不同,要替换成自己的安装目录:rm -rf /opt/homebrew/lib/node_modules/@anthropic-ai/claude-code。安装完成后,让我们启动 Claude Code,看看它长什么样。

weixin_45036829的博客 2010

浅谈JavaScript的执行效率

  Javascript是一门非常灵活的语言,我们可以随心所欲的书写各种风格的代码,不同风格的代码也必然也会导致执行效率的差异,开发过程中零零散散地接触到许多提高代码性能的方法,整理一下平时比较常见并且容易规避的问题   Javascript自身执行效率   Javascript中的作用域链、闭包、原型继承、eval等特性,在提供各种神奇功能的同时也带来了各种效率问题,用之不慎就会导致执行效率...

qianfeng_dashuju的博客 1370

Scratch 3.0角色控制避坑指南:为什么你的键盘移动总卡顿?

本文深入剖析了Scratch 3.0中角色移动卡顿的根本原因,指出依赖`当按下`事件积木的局限性。通过对比分析,推荐采用`重复执行`结合`如果<键被按下?>`的循环控制方案,并引入速度变量模拟惯性,从而实现流畅、实时的键盘控制优化,显著提升游戏操作体验。

dd012的博客 1015

js 执行效率

循环  在JavaScript中,我们可以使用for(;;),while(),for(in)三种循环,这三种循环中for(in)的效率极差,因为他需要查询散列键,只要可以就应该尽量少用。for(;;)和while循环的性能应该说基本(平时使用时)等价。   在使用这两个循环时,经过测试得出一下一些结论:     如果是循环变量递增或递减,不要单独对循环变量赋值,应该在它最后一次读取的时候使用嵌...

weixin_30865427的博客 165

SeaTunnel 实战:Apache SeaTunnel Web 安装与部署

复制引擎服务中配置文件到 Web 配置目录下面。就是上述 application.yml 文件中配置的端口号。默认是从 mvvm 下载,可能下载速度很慢,我这边安装了 Maven 并且配置了阿里云仓库,因此将脚本中的。如果环境变量有冲突需要改下环境变量的名字以及 init_sql.sh 中的环境变量的名字,可以加上前缀。初始化数据库有两种方式,一是使用官方提供的初始化脚本,二是直接运行初始化 SQL。初始化数据库的脚本,使用之前需要修改。

SmartSi 3911

【K8S系列】Kubernetes 中 Pod 无法通过 Service 名称访问服务的 DNS 解析失败问题【已解决】

在 Kubernetes 中,Service 提供了一种稳定的方式,通过名称访问一组 Pod。当其他 Pod 无法通过 Service 名称访问服务,并且出现 DNS 解析失败时,通常会导致应用无法正常工作。本文将详细分析此问题的常见原因及其解决方案。

颜淡慕潇 1万+

前端开发中,如何优化 JavaScript 代码的执行效率?

你有没有遇到过这样的情况:页面功能都实现了,但用户一用就卡顿、响应慢?甚至在一些低端设备上直接“卡死”了?你以为是硬件问题,其实很可能是你的 JavaScript 代码出了问题。JavaScript 是前端的灵魂,它决定了网页能不能“动起来”,但如果写得不好,它也可能成为拖累性能的“罪魁祸首”。很多人只关注“功能能不能实现”,却忽略了“怎么实现才更高效”。如何优化 JavaScript 的执行效率?我们会从“为什么会慢”讲起,再到“怎么改才能快”,并给出一系列实用技巧和真实案例。

2501_91889873的博客 1070

Android 10.0 SystemUI下拉状态栏点击设置跳转设置时白屏修改

在10.0的系统rom定制化开发中,在SystemUI下拉状态栏下方点击设置图标跳转设置的过程中,发现 有白屏显示挡住设置界面,显示白屏,接下来分析下相关原因来解决这个问题

安卓兼职framework和app工程师的博客 80

如何优化前端应用中的JavaScript执行效率?

如何优化前端应用中的JavaScript执行效率?

商务合作欢迎私信我 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

javascript 执行效率 java_Javascript执行效率小结

Javascript是一门非常灵活的语言,我们可以随心所欲的书写各种风格的代码,不同风格的代码也必然也会导致执行效率的差异,开发过程中零零散散地接触到许多提高代码性能的方法,整理一下平时比较常见并且容易规避的问题Javascript自身执行效率Javascript中的作用域链、闭包、原型继承、eval等特性,在提供各种神奇功能的同时也带来了各种效率问题,用之不慎就会导致执行效率低下。1、全局导入我...

weixin_39677203的博客 279

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

javascript 执行效率 java_Javascript执行效率总结

Javascript是一门非常灵活的语言,我们可以随心所欲的书写各种风格的代码,不同风格的代码也必然也会导致执行效率的差异,开发过程中零零散散地接触到许多提高代码性能的方法,整理一下平时比较常见并且容易规避的问题Javascript自身执行效率Javascript中的作用域链、闭包、原型继承、eval等特性,在提供各种神奇功能的同时也带来了各种效率问题,用之不慎就会导致执行效率低下。1、全局导入我...

weixin_36251012的博客 286

javascript 执行效率 java_浅谈JavaScript的执行效率

原标题:浅谈JavaScript的执行效率Java是一门非常灵活的语言,我们可以随心所欲的书写各种风格的代码,不同风格的代码也必然也会导致执行效率的差异,开发过程中零零散散地接触到许多提高代码性能的方法,整理一下平时比较常见并且容易规避的问题Java自身执行效率Java中的作用域链、闭包、原型继承、eval等特性,在提供各种神奇功能的同时也带来了各种效率问题,用之不慎就会导致执行效率低下。1、全局...

weixin_32049741的博客 286

JavaScript执行效率总结

Javascript是一门非常灵活的语言,我们可以随心所欲的书写各种风格的代码,不同风格的代码也必然也会导致执行效率的差异,开发过程中零零散散地接触到许多提高代码性能的方法,整理一下平时比较常见并且容易规避的问题。 Javascript自身执行效率 Javascript中的作用域链、闭包、原型继承、eval等特性,在提供各种神奇功能的同时也带来了各种效率问题,用之不慎就会导致执行效率低

wuweitiandian的专栏 509

jQuery vs 原生JS:开发效率对比实验

对于新项目,如果不需要支持老浏览器,可以考虑直接使用现代JS对于需要快速开发的场景,jQuery仍然是提高效率的好工具维护老项目时,不要盲目移除jQuery,要考虑投入产出比团队技术选型应该基于实际需求,而不是盲目追求新技术工具只是手段,解决问题才是目的。选择最适合当前项目和团队的技术栈,才是明智的决策。

SilvermistRaven28的博客 572

关于nodejs适用场景与js执行效率

Nodejs和JavaScript为什么js执行效率比c低Nodejs比起Java更适合的场景Nodejs应用场景:CPU密集型(CPU-bound)IO密集型(I/O bound)CPU密集型 vs IO密集型 为什么js执行效率比c低 参考:https://blog.youkuaiyun.com/wmaoshu/article/details/56293247 在编译的时候c++中因为变量类型都是已知的,所以,可以保存对象的结构,确定好每一个属性的偏移量。再编译代码的时候用基地址+偏移地址的方式表示。由于js是弱

Janejie_Zhou的博客 1115

如何在 JavaScript 项目中限制Node.js版本

在现代JavaScript开发中,Node.js扮演了一个非常重要的角色。不同版本的Node.js可能会带来不同的特性和行为,因此在项目中限制Node版本是一个很关键的步骤。本文将通过通俗易懂的方式,教你如何在JavaScript项目中限制Node.js的版本。在开发过程中,确保所有团队成员使用同一个Node.js版本,可以大大减少因为版本不一致而引起的问题,提高开发效率和项目的稳定性。

乐闻世界 2510

探索下一代JavaScript开发新境界 —— JS++ 项目深度剖析

探索下一代JavaScript开发新境界 —— JS++ 项目深度剖析 项目介绍 在现代前端乃至全栈领域,一种名为JS++(JSPP)的新型编程语言正悄然升起,它不仅仅是一种简单的JavaScript扩展,而是一次对JavaScript能力边界的全面拓展。JSPP旨在解决传统JavaScript中类型不安全和模块管理复杂等问题,提供了一套更加严谨和高效的开发框架,让开发者能够以更接近面向对象的方...

gitblog_00053的博客 1035

js异步等待完成后再进行下一步操作_JavaScript 异步详解

点击上方蓝字 关注我们!相关概念1单线程&非阻塞I/OJavaScript语言本身是单线程的。什么是单线程?可以理解为一次只能执行一个任务,所有的任务在执行开始前排成一个队列,等待顺序执行。为什么是单线程? 如果JS是多线程的,一个线程在某个DOM节点上添加内容,同时另一个线程删除了这个节点,那浏览器以谁为准?所以为了避免复杂性,JavaScript从诞生起就是单线程的。非阻塞...

weixin_39629679的博客 1万+

元素事件Javascript执行效率小结

查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记载吧!     Javascript是一门非常灵活的语言,我们可以随心所欲的誊写各种风格的代码,不同风格的代码也必定也会导致执行效率的差异,开发过程中零零散散地接触到许多进步代码性能的方法,整理一下平常比拟常见并且轻易规避的问题      Javascript自身执行效率     Jav

love android 949

js2-refactor.el:提升JavaScript开发效率的Emacs插件

js2-refactor.el:提升JavaScript开发效率的Emacs插件 在现代的Web开发中,JavaScript作为主流的前端编程语言,其开发效率和代码质量尤为重要。Emacs作为一款强大的文本编辑器,其通过插件扩展功能的能力备受开发者喜爱。今天,我们将介绍一款名为js2-refactor.el的Emacs插件,它为JavaScript开发者在Emacs中提供了丰富的代码重构功能。 项...

gitblog_01043的博客 878

javascript 执行效率 java_JavaScript的缺点是执行效率不如Java快。()

JavaScript的缺点是执行效率不如Java快。()答:√短语: 更好;那就更好了答:all the better从周期上看,如果仅考虑自然的因素,从2000年到2050年前后,地球气候是处在一个相对较为寒冷的时期。()答:√中国大学MOOC: 社会是社区的集合答:错商务谈判中最为普遍使用的让步方式是答:22,17,13,8,4Rh血型不符引起的新生儿溶血症多发生于()答:Rh-母亲所生Rh+...

weixin_35742845的博客 889
上一篇: DB2数据库错误代码大全
下一篇: JAVA获取各个指定时间的方法 以当天零点与前一天零点为例
跳动的世界线
博客等级 码龄6年 198粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

跳动的世界线

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值