论坛首页 Java企业应用论坛

FEL(表达式语言)0.4.1版本发布(没有最快,只有更快)

浏览 13181 次
精华帖 (0) :: 良好帖 (6) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-08-29  
java_user 写道
性能差异可能是两者实现的原理不一样,楼主的应该是对表达式预编译了,jexl好像是每次都编译吧。楼主试试每次计算的表达式都不一样,看看测试结果如何。

是的,肯定要预编译,不然哪有这么快的速度。
我在测试JEXL时,也进行的预编译。

如果每次执行的表达式都不一样,性能应该和JEXL差不多(这个没有具体比较过)。

0 请登录后投票
   发表时间:2011-08-29  
java_user 写道
其实这种东西最主要是要考虑的很全面,性能倒不是最重要的,毕竟这种计算动态的表达式的情况很少,如果要高性能,就直接写代码了。


不能认同你的看法,如果什么时候都可以通过写代码解决,就不需要EL了。
至于说性能是否重要,要看什么场合,有些场合对性能要求非常高,有些则不要求性能,只要求功能。
EL的功能,暂不做评论。
0 请登录后投票
   发表时间:2011-08-29   最后修改:2011-08-29
lotusyu 写道
java_user 写道
其实这种东西最主要是要考虑的很全面,性能倒不是最重要的,毕竟这种计算动态的表达式的情况很少,如果要高性能,就直接写代码了。


不能认同你的看法,如果什么时候都可以通过写代码解决,就不需要EL了。
至于说性能是否重要,要看什么场合,有些场合对性能要求非常高,有些则不要求性能,只要求功能。
EL的功能,暂不做评论。

EL表达式很少有写很复杂的运算吧。像你这种性能差异的表现前提是大量重复的表达式计算,就我接触到的应用,很少很少有这种需求的,除非用户可以通过编辑表达式自行更改某个计算逻辑。做过一个系统里面计算价格的,就是通过jexl实现的,但计算量也很小。
所以我才说,这种东西功能才是最重要,性能在实际应用中很难体现出来。

----
关于EL表达式写错了更改一下
0 请登录后投票
   发表时间:2011-08-29  
lotusyu 写道
ltian 写道
应用场景是什么呢?

应用场景我也说不全,建议你GOOGLE一下。
创建FEl的初衷是数据过滤与运算。

规则引擎已经实现这些功能了,而且更强大。
0 请登录后投票
   发表时间:2011-08-29  
fel运行在web应用里报错,提示找不到fel类、commons-lang的相关类,应该是FelCompilerImpl.getFolder()使用System.getProperty("user.dir")的问题,在web应用中不能使用System.getProperty("user.dir")获取类路径。
0 请登录后投票
   发表时间:2011-08-29  
很遗憾给你带来麻烦了,我晚上回去看一下,再给你回复。
0 请登录后投票
   发表时间:2011-08-29  
liuye 写道
fel运行在web应用里报错,提示找不到fel类、commons-lang的相关类,应该是FelCompilerImpl.getFolder()使用System.getProperty("user.dir")的问题,在web应用中不能使用System.getProperty("user.dir")获取类路径。

请问你有没有把 %java_home%/lib/tools.jar放到web-inf/lib中
0 请登录后投票
   发表时间:2011-08-30  
lotusyu 写道
liuye 写道
fel运行在web应用里报错,提示找不到fel类、commons-lang的相关类,应该是FelCompilerImpl.getFolder()使用System.getProperty("user.dir")的问题,在web应用中不能使用System.getProperty("user.dir")获取类路径。

请问你有没有把 %java_home%/lib/tools.jar放到web-inf/lib中

tools.jar已加入到WEB-INF/lib下
0 请登录后投票
   发表时间:2011-08-30  
to  liuye
不能编译的问题是由classloader引起,目前正在处理。
0 请登录后投票
   发表时间:2011-08-30  
想和这个结合模板使用
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics