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

初步开发完成,一会儿要提测

过程中有一点让我及其在意,就是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、

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

跳动的世界线

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

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

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

打赏作者

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

抵扣说明:

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

余额充值