当前位置:  软件>java软件

模板引擎 Lite

    来源:    发布时间:2015-02-08

    本文导语:  Lite 缩写自List Template,是一个由简单的控制指令集和一个表达式解析引擎组成的简单模板引擎。 模板语言所解析的中间格式,由数组、字符串、和整数三种数据类型组成。数组就是这里唯一的复合类型,于是,我采用List Templat...

Lite 缩写自List Template,是一个由简单的控制指令集和一个表达式解析引擎组成的简单模板引擎。 模板语言所解析的中间格式,由数组、字符串、和整数三种数据类型组成。数组就是这里唯一的复合类型,于是,我采用List Template来命名这个模板引擎。List 和Template各取两个首字母,组成Lite这个单词。

用户不能直接编写控制指令,如同java程序员不能直接编写字节码一样,Lite需要一种真正的源代码格式。理论上,通过这些控制指令和自定义表达式函数,我们可以支持任何模板语法翻译为Lite能解释的中间代码。

如CLR需要C#,C++.net,java byte code需要Java语法; Lite提供一种XML源代码语法,作为Lite的默认源代码格式。

Lite的运行效率,是非常出众的,高于Velocity和FreeMarker一半以上。 但是对于一些表达式的计算,因为JSEL脚本和JavaScript规则的兼容性要求,以及弱类型自动转换的特征,性能不及强类型的velocity。介 于Velocity和FreeMarker之间。

js版本运行时比jst快大约两倍,如果算 上编译时间(lite不在运行时编译),不在一个数量级上,没有比较。

python版本比 django模板快四倍左右!

php版本的性能较差,估计主要事php函数调用开销的问题, 相比smarty这个编译成最终php的模板实现来说,在asciitable打印测试中,单进程内一次运行要慢smarty3.5倍(通常web页面的 渲染模式),如果单进程重复运行1000次(现实环境中不太可能发生),可能是因为php文件的解析缓存,要慢smarty9倍(查看详细数据),而且如果php使用编译缓存加速,这个差距还会进一步加大。以后考虑将采用类似lite4js那 样编译成最终代码的方式,或者直接编写php扩展。

几个Java模板引擎的测试结果比较见:http://code.google.com/p/templatetest/wiki/Velocity_CommonTemplate_XMLTemplate_Compare


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • c++模板(Template)介绍及模板参数中包含模版
  • Destoon模板怎么制作?destoon模板制作简单教程
  • c++通用模板类(template class)定义实现详细介绍
  • 关于模板类局部特化的错误:模板参数太少。
  • C++可变参数模板(variadic template)详细介绍及代码举例
  • destoon公司主页模板风格的添加方法
  • c++模板(template)常见用法代码实例
  • 模板配置系统 CoreTML
  • c++模板(template)中的class和typename关键字异同比较
  • PHP模板语言 Twig
  • C++ STL标准模板库类String成员详细列表参考及示例代码
  • C++类模板与模板类深入详解
  • 教你添加destoon公司主页模板风格方法
  • JavaScript 模板引擎 Velocity.js
  • C++模板库 C++ B-tree
  • 模板引擎 Teddy
  • javascript 模板引擎 artTemplate
  • Destoon模板制作简明教程
  • web.py中调用文件夹内模板的方法
  • web模板语言 jpc-template
  • Zend项目模板 rphp4zf


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3