`

jsel性能测试 感觉性能不行啊

 
阅读更多
1000000次 ===>15393毫秒 100000次 ===>2111毫秒
和前面的几个框架比起来差很远啊

使用的是Lite-20111106.jar,已经是最近的版本了,其实一看名字就是2011年的,,,
jar包下载地址:https://code.google.com/p/lite/downloads/list



package com.eyu.ahxy.module.expression.jsel;

import java.util.HashMap;
import java.util.Map;

import org.junit.Test;
import org.xidea.el.Expression;
import org.xidea.el.impl.ExpressionFactoryImpl;

/**
 * 1000000次 ===>15393毫秒 100000次 ===>2111毫秒
 * @author bean
 */
public class JselComplexTest {
	
	String exp = "Math.min(Math.floor(test.a*test.getB()),Math.floor(c+d*e))";
	
	Expression expression=ExpressionFactoryImpl.getInstance().create(exp);
	
	static Map<String, Object> map = new HashMap<>();
	static {
		map.put("test", new JselComplexTest());
		map.put("Math", Math.class);
		map.put("c", 10);
		map.put("d", 10);
		map.put("e", 2);

	}

	public static final int NUM = 1000000;

	public int getA() {
		return 10;
	}

	public int getB() {
		return 10;
	}

	@Test
	public void compileTest() throws Exception {
		for (int i = 0; i < NUM; i++) {
			Object result = expression.evaluate(map);
//			System.err.println("========="+result);
		}
	}

}


分享到:
评论

相关推荐

    JS提高优化性能完全秘籍.pdf

    ### JS提高优化性能完全秘籍 #### 执行效率优化技巧详解 **1. DOM操作优化** **1.1 使用DocumentFragment优化多次append** 在进行DOM元素频繁操作时,特别是需要频繁地向DOM树中添加元素时,直接使用`...

    JS常用的几种数组遍历方式以及性能分析对比实例详解

    在进行性能测试时,应确保在无其他操作的环境下进行,例如文中提到的仅进行空循环,以便准确评估遍历操作本身的时间消耗。测试结果可能因浏览器版本、环境等因素而异,因此在实际应用中,应根据具体场景选择合适的...

    Vue.js学习文档

    - **性能**:AngularJS 依赖于脏检查机制来检测数据变化,这会导致性能下降;Vue.js 则通过依赖追踪和异步更新机制来提高性能。 - **与 React 对比**: - **DOM 操作**:React 使用虚拟 DOM 来提高性能,但这也...

    关于JQUERY性能的优化

    在JavaScript的世界里,jQuery是一个广泛使用的库,它简化了DOM操作、事件处理和动画效果,极大地提升了开发效率。...在实际工作中,持续学习和实践,结合性能测试工具,才能真正实现最优的jQuery性能优化。

    表格列自由拖动排序js代码

    在这个例子中,JS代码处理了鼠标事件,如`mousedown`(鼠标按下)、`mousemove`(鼠标移动)和`mouseup`(鼠标释放),来检测用户是否正在尝试拖动列。 在实现拖动排序时,代码首先会检测到列头被长按时触发`...

    ELADMIN 后台管理系统

    除了以上的核心技术,ELADMIN可能还包含了其他辅助工具和库,如MyBatis或Lombok等,用于简化SQL操作和代码生成,以及Swagger用于API文档的生成和测试。 在实际开发过程中,ELADMIN的开发者需要熟悉上述技术的使用,...

    eladmin说明文档1

    "eladmin 说明文档1" EL-ADMIN 是一款基于 Spring Boot 2.1.0、 Spring Boot Jpa、JWT、Spring Security、Redis、Vue、Element-UI 的前后端分离的后台管理系统。该系统采用按功能分模块的开发方式,权限控制采用 ...

    利用turn.js制作电子书

    为了在PC和移动设备之间切换,我们可以使用响应式设计,通过检测设备类型来决定使用Turn.js还是Swiper。例如,可以使用CSS媒体查询或JavaScript的window.innerWidth来判断屏幕尺寸。 总结来说,Turn.js和Swiper结合...

    图书管理系统 基于jsp js

    开发完成后,系统需要经过单元测试、集成测试和性能测试,确保所有功能正常运行且性能达标。然后,将应用部署到生产环境的Tomcat服务器上,供实际用户使用。 以上就是基于jsp js的图书管理系统的核心知识点,涵盖...

    Vue.js分页组件实现:diVuePagination的使用详解

    总的来说,Vue.js的分页组件如diVuePagination使得在Vue应用中实现分页功能变得更加便捷,它可以帮助开发者构建出高性能且易于维护的用户界面。通过结合Vue Router进行页面间的导航,以及与后台API的交互,可以构建...

    js导航菜单左侧竖纵向二级导航菜单可点击展开与收缩子菜单

    7. **性能优化**:为了避免不必要的计算和提高页面加载速度,可以使用事件委托。将事件监听器添加到父元素,而不是每个子元素,只处理必要的点击事件。 8. **无障碍性(Accessibility)**:对于残障人士或者使用...

    100道Vue.js 面试题(含答案).pdf

    Vue.js的优点包括数据驱动和组件化,它实现了低耦合和可重用性,视图与模型的分离使得开发和测试都更加容易。它利用虚拟DOM和数据响应式,使得状态管理变得简单高效。 Vue.js的计算属性computed和侦听器watch也经常...

    VirtualKeyBoard,js虚拟键盘,中英文切换,数字输入

    10. **兼容性测试**:虚拟键盘需在主流浏览器(如Chrome、Firefox、Safari、Edge)及不同操作系统(如Windows、iOS、Android)上进行广泛的兼容性测试,确保在各种环境下都能正常工作。 总的来说,VirtualKeyBoard....

    EL比赛APP.zip

    8. **单元测试与集成测试**:项目可能包含了JUnit、Mocha、Jest等测试框架的测试用例,确保代码质量和功能的稳定性。 9. **持续集成/持续部署(CI/CD)**:如使用Jenkins、Travis CI或GitHub Actions进行自动化构建和...

    ie6中png透明解决方案 js

    其中,一种常见的解决方案是使用James Padolsey的JavaScript库,它通过检测浏览器版本并插入适当的CSS滤镜来解决IE6下的PNG透明问题。例如,可以使用以下代码: ```javascript function fixPNG() { if (window....

    引入本地vue.js文件开发

    Vue.js是一个轻量级、高性能的前端JavaScript框架,它提供了一套声明式的数据绑定和组件系统,使得开发者能够构建可复用、可维护的用户界面。下面我们将详细探讨如何在本地环境中设置并引入Vue.js文件进行开发。 ...

    cognos JS大全

    3. **性能优化**:当数据量较大时,排序操作可能会对性能造成影响,需要对代码进行适当的优化。 #### 六、总结 本文档提供了在Cognos环境中使用JavaScript来实现单击表头排序功能的具体步骤和代码示例。这对于提升...

    vue.js API 教程

    它解决了Vue.js无法检测到属性删除的问题,这对于维护响应式对象的完整性非常有帮助。 - **Vue.directive**: 这个方法用于注册全局自定义指令。Vue.js允许开发者定义自己的指令,从而提供更灵活的DOM操作。通过`Vue...

Global site tag (gtag.js) - Google Analytics