由上篇得知 整个qlexpress的执行过程:
(1)单词分解
(2)单词类型分析
(3)语法分析
(4)生成运行期指令集合
(5)执行生成的指令集合。
其中前4个过程涉及语法的匹配运算等非常耗时,要做到使qlExpress的性能最大化,你可以做以下两方面的优化:
1、ExpressRunner设置成singleton(结合spring是非常容易做到的)
2、execute方法的参数设置 isCache =true(它会把 expressString 编译成一段指令,缓存在内存中,相当于缓存了(1)->(4)的过程)
我们把日志信息相关的参数都关闭掉,拿自己的pc机测试下:【
CPU型号:
Intel 酷睿i5 2430M,内存容量:
2GB DDR3 1333MHz
】
做一个简单的性能测试:详见 com.ql.util.express.test.ExpressTest
@org.junit.Test
public void tes10000次() throws Exception{
ExpressRunner runner = new ExpressRunner();
String express = "10 * 10 + 1 + 2 * 3 + 5 * 2";
int num = 100000;
runner.execute(express,null, null, true,false);
long start = System.currentTimeMillis();
for(int i = 0;i< num;i++){
runner.execute(express,null, null, true,false);
}
System.out.println("执行" + num +"次\""+ express +"\" 耗时:"
+ (System.currentTimeMillis() - start));
}
结果如下:
执行100000次"10 * 10 + 1 + 2 * 3 + 5 * 2" 耗时:203
速度还是挺不错的。
分享到:
相关推荐
7. **性能优化**:对于脚本语言,性能优化包括代码重构、算法选择、资源管理等方面。书中可能会教读者如何提高脚本运行速度和降低资源消耗。 8. **脚本集成与部署**:如何将脚本与其他系统或服务集成,例如API调用...
简单明了的shell脚本语言讲义,让你轻松了解shell语言。
QLExpress是一种强大、轻量级且动态的编程语言,它为开发者提供了高效的代码编写和执行环境。QLExpress的设计目标是简化编程过程,提高开发效率,同时保持灵活性和可扩展性。这种语言通常适用于快速开发、脚本编写...
3. **find-in-jars** 在大型项目中,可能需要在众多的JAR文件中搜索特定的类或资源。手动搜索不仅耗时,而且容易出错。"find-in-jars"脚本则提供了快速便捷的方式,能够在大量JAR文件中查找指定的类或文件,节省...
使用/ dev / usb / lp0设备句柄) 声称支持以下打印机(✓表示经过作者或贡献者验证的打印机): QL-500(✓),QL-550(✓),QL-560(✓),QL-570(✓),QL-580N,QL-650TD,QL-700(✓),QL-710W(✓), QL-...
由阿里的电商业务规则、表达式(布尔组合)、特殊数学公式计算(高精度)、语法分析、脚本二次定制等强需求而设计的一门动态脚本引擎解析工具。 在阿里集团有很强的影响力,同时为了自身不断优化、发扬开源贡献精神...
Hyper-V 是微软提供的一种虚拟化技术,主要用于在Windows操作系统上创建和管理虚拟机。这个"一键安装 Hyper-V 脚本"(Hyper-V.bat)是一个方便用户快速在Windows家庭版上安装Hyper-V组件的自动化工具。通常,Hyper-V...
magic-script是一款基于JVM的脚本语言,目前主要是为magic-api项目设计。magic-api,接口快速开发框架,通过Web页面配置,自动映射为HTTP接口;spider-flow,新一代爬虫平台,以图形化方式定义爬虫流程,不写代码...
**批处理**(Batch Scripting),是一种计算机编程语言,它允许用户创建一系列预定义命令的脚本文件,以实现自动化任务的执行。在Windows操作系统中,这种脚本通常被称为**批处理脚本**,其文件扩展名为`.bat`或`....
仅供学习。勿用商业。谢谢合作。漏洞验证脚本ssl-deacth-alert(cve-2016-8610)
奔梦向前:学编程其实很简单,html、css、JavaScript、html5、css3、vue、Canvas实现网页特效页面、新手入门学习、了解网页动画的制作、代码实现网页动态画面-脚本循环代码-2020-04-28-2。
跨站脚本攻击(Cross-Site Scripting,简称XSS)是一种常见的网络安全漏洞,它允许攻击者通过在网页上插入恶意脚本,从而在用户的浏览器上执行代码。这些脚本可以窃取用户的数据,包括登录凭证、个人信息,甚至操纵...
【loadRunner入门教学详细讲解】 LoadRunner是一款由Micro Focus公司开发的企业级性能测试工具,它广泛应用于软件性能测试,能够模拟大量并发用户,检测系统在高负载下的性能表现。本教学文档将帮助初学者深入了解...
- 脚本语言封装:使用Python、Perl或Shell脚本封装SQL查询,增加自动化功能。 - 自动化平台集成:与Ansible、Jenkins等自动化平台结合,实现全生命周期的监控。 综上所述,“mysql 性能监控脚本”是MySQL运维中的...
杭州影视制作-宣传片拍摄脚本-分镜头制作-中信红木分镜-6.pdf
本文将深入探讨“游戏脚本-虚空恐惧-科加斯.zip”所涉及的游戏脚本语言及其在游戏设计中的应用。 首先,我们要理解什么是游戏脚本。游戏脚本是用于控制游戏行为、事件序列和逻辑的编程代码,通常使用专门的脚本语言...
总结来说,"网页JavaScript脚本语言提取器"是开发者和学习者的重要工具,它能够帮助我们深入理解网页背后的JavaScript逻辑,进行有效的测试和分析,提升开发效率和网页性能。对于那些需要从网页中获取或分析...
标题"WINCC全局脚本-使用手册-中文版.zip"表明这是一个关于SIMATIC WinCC(西门子的一种人机界面软件)的资源,具体来说是关于全局脚本的使用手册,且该手册是中文版本。这意味着手册将详细解释如何在WinCC项目中...
通过以上知识点的梳理,我们可以了解到,Fine Packet Builder 结合 Jython 脚本语言不仅为网络协议的学习提供了实践平台,还大大降低了网络技术的入门门槛,使初学者能够在实践中加深对网络原理的理解。同时,详细的...