`
express_wind
  • 浏览: 29577 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

QLExpress脚本语言技术讲解(3) -----QL的性能描述

阅读更多

 

由上篇得知 整个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



速度还是挺不错的。

 

 

分享到:
评论

相关推荐

    脚本技术script56--2006(CHM)

    7. **性能优化**:对于脚本语言,性能优化包括代码重构、算法选择、资源管理等方面。书中可能会教读者如何提高脚本运行速度和降低资源消耗。 8. **脚本集成与部署**:如何将脚本与其他系统或服务集成,例如API调用...

    shell脚本语言使用简介---培训指南

    简单明了的shell脚本语言讲义,让你轻松了解shell语言。

    QLExpress is a powerful, lightweight, dynamic language for.zip

    QLExpress是一种强大、轻量级且动态的编程语言,它为开发者提供了高效的代码编写和执行环境。QLExpress的设计目标是简化编程过程,提高开发效率,同时保持灵活性和可扩展性。这种语言通常适用于快速开发、脚本编写...

    linux实用脚本show-busy-java-threads

    3. **find-in-jars** 在大型项目中,可能需要在众多的JAR文件中搜索特定的类或资源。手动搜索不仅耗时,而且容易出错。"find-in-jars"脚本则提供了快速便捷的方式,能够在大量JAR文件中查找指定的类或文件,节省...

    brother_ql:适用于Brother QL系列标签打印机的光栅语言协议的Python软件包(QL-500,QL-550,QL-560,QL-570,QL-700,QL-710W,QL-720NW,QL-800,QL-810W ,QL-820NWB,QL-1050,QL-1060N等)

    使用/ dev / usb / lp0设备句柄) 声称支持以下打印机(✓表示经过作者或贡献者验证的打印机): QL-500(✓),QL-550(✓),QL-560(✓),QL-570(✓),QL-580N,QL-650TD,QL-700(✓),QL-710W(✓), QL-...

    QLExpress.rar

    由阿里的电商业务规则、表达式(布尔组合)、特殊数学公式计算(高精度)、语法分析、脚本二次定制等强需求而设计的一门动态脚本引擎解析工具。 在阿里集团有很强的影响力,同时为了自身不断优化、发扬开源贡献精神...

    一键安装 Hyper-V 脚本

    Hyper-V 是微软提供的一种虚拟化技术,主要用于在Windows操作系统上创建和管理虚拟机。这个"一键安装 Hyper-V 脚本"(Hyper-V.bat)是一个方便用户快速在Windows家庭版上安装Hyper-V组件的自动化工具。通常,Hyper-V...

    magic-script是一款基于JVM的脚本语言,目前主要是为magic-api项目设计

    magic-script是一款基于JVM的脚本语言,目前主要是为magic-api项目设计。magic-api,接口快速开发框架,通过Web页面配置,自动映射为HTTP接口;spider-flow,新一代爬虫平台,以图形化方式定义爬虫流程,不写代码...

    史上最详细批处理脚本(BAT)教程-精华版

    **批处理**(Batch Scripting),是一种计算机编程语言,它允许用户创建一系列预定义命令的脚本文件,以实现自动化任务的执行。在Windows操作系统中,这种脚本通常被称为**批处理脚本**,其文件扩展名为`.bat`或`....

    漏洞验证脚本ssl-deacth-alert&#40;cve-2016-8610&#41;

    仅供学习。勿用商业。谢谢合作。漏洞验证脚本ssl-deacth-alert&#40;cve-2016-8610&#41;

    奔梦向前-脚本循环代码-2020-04-28-2.zip

    奔梦向前:学编程其实很简单,html、css、JavaScript、html5、css3、vue、Canvas实现网页特效页面、新手入门学习、了解网页动画的制作、代码实现网页动态画面-脚本循环代码-2020-04-28-2。

    360独家防注入跨站脚本攻击漏洞补丁php-asp-jsp

    跨站脚本攻击(Cross-Site Scripting,简称XSS)是一种常见的网络安全漏洞,它允许攻击者通过在网页上插入恶意脚本,从而在用户的浏览器上执行代码。这些脚本可以窃取用户的数据,包括登录凭证、个人信息,甚至操纵...

    loadRunner入门教学详细讲解--文档

    【loadRunner入门教学详细讲解】 LoadRunner是一款由Micro Focus公司开发的企业级性能测试工具,它广泛应用于软件性能测试,能够模拟大量并发用户,检测系统在高负载下的性能表现。本教学文档将帮助初学者深入了解...

    mysql 性能监控脚本

    - 脚本语言封装:使用Python、Perl或Shell脚本封装SQL查询,增加自动化功能。 - 自动化平台集成:与Ansible、Jenkins等自动化平台结合,实现全生命周期的监控。 综上所述,“mysql 性能监控脚本”是MySQL运维中的...

    杭州影视制作-宣传片拍摄脚本-分镜头制作-中信红木分镜-6.pdf

    杭州影视制作-宣传片拍摄脚本-分镜头制作-中信红木分镜-6.pdf

    游戏脚本-虚空恐惧-科加斯.zip

    本文将深入探讨“游戏脚本-虚空恐惧-科加斯.zip”所涉及的游戏脚本语言及其在游戏设计中的应用。 首先,我们要理解什么是游戏脚本。游戏脚本是用于控制游戏行为、事件序列和逻辑的编程代码,通常使用专门的脚本语言...

    网页javascript脚本语言提取器

    总结来说,"网页JavaScript脚本语言提取器"是开发者和学习者的重要工具,它能够帮助我们深入理解网页背后的JavaScript逻辑,进行有效的测试和分析,提升开发效率和网页性能。对于那些需要从网页中获取或分析...

    WINCC全局脚本-使用手册-中文版.zip

    标题"WINCC全局脚本-使用手册-中文版.zip"表明这是一个关于SIMATIC WinCC(西门子的一种人机界面软件)的资源,具体来说是关于全局脚本的使用手册,且该手册是中文版本。这意味着手册将详细解释如何在WinCC项目中...

    (一)网络脚本语言基础

    通过以上知识点的梳理,我们可以了解到,Fine Packet Builder 结合 Jython 脚本语言不仅为网络协议的学习提供了实践平台,还大大降低了网络技术的入门门槛,使初学者能够在实践中加深对网络原理的理解。同时,详细的...

Global site tag (gtag.js) - Google Analytics