从Github上翻到对JSP、Thymeleaf 3、Velocity 1.7、Freemarker 2.3.23几款主流模板的性能对比,总体上看,Freemarker、Velocity、JSP在性能上差别不大,而Thymeleaf与前三者相比,在性能上存在较大的差距,因此,选择Thymeleaf作为模板引擎需要慎重。

System Configuration

Architecture: x86_64

CPU op-mode(s): 32-bit, 64-bit

Byte Order: Little Endian

CPU(s): 4

On-line CPU(s) list: 0-3

Thread(s) per core: 2

Core(s) per socket: 2

Socket(s): 1

NUMA node(s): 1

Vendor ID: GenuineIntel

CPU family: 6

Model: 37

Model name: Intel(R) Core(TM) i5 CPU M 430 @ 2.27GHz

Stepping: 2

CPU MHz: 1199.000

CPU max MHz: 2267.0000

CPU min MHz: 1199.0000

BogoMIPS: 4522.04

Virtualization: VT-x

L1d cache: 32K

L1i cache: 32K

L2 cache: 256K

L3 cache: 3072K

NUMA node0 CPU(s): 0-3

JSP

Document Path: /jsp

Document Length: 8515 bytes

Concurrency Level: 25

Time taken for tests: 13.003 seconds

Complete requests: 25000

Failed requests: 0

Keep-Alive requests: 0

Total transferred: 218825000 bytes

HTML transferred: 212875000 bytes

Requests per second: 1922.59 (#/sec) (mean)

Time per request: 13.003 (ms) (mean)

Time per request: 0.520 (ms) (mean, across all concurrent requests)

Transfer rate: 16434.05 (Kbytes/sec) received

Thymeleaf 3

Document Path: /thymeleaf

Document Length: 8849 bytes

Concurrency Level: 25

Time taken for tests: 23.303 seconds

Complete requests: 25000

Failed requests: 0

Keep-Alive requests: 0

Total transferred: 225300000 bytes

HTML transferred: 221225000 bytes

Requests per second: 1072.80 (#/sec) (mean)

Time per request: 23.303 (ms) (mean)

Time per request: 0.932 (ms) (mean, across all concurrent requests)

Transfer rate: 9441.52 (Kbytes/sec) received

Velocity 1.7

Document Path: /velocity

Document Length: 8951 bytes

Concurrency Level: 25

Time taken for tests: 13.200 seconds

Complete requests: 25000

Failed requests: 0

Keep-Alive requests: 0

Total transferred: 227975000 bytes

HTML transferred: 223775000 bytes

Requests per second: 1893.92 (#/sec) (mean)

Time per request: 13.200 (ms) (mean)

Time per request: 0.528 (ms) (mean, across all concurrent requests)

Transfer rate: 16865.88 (Kbytes/sec) received

Freemarker 2.3.23

Document Path: /freemarker

Document Length: 9035 bytes

Concurrency Level: 25

Time taken for tests: 12.988 seconds

Complete requests: 25000

Failed requests: 0

Keep-Alive requests: 0

Total transferred: 230075000 bytes

HTML transferred: 225875000 bytes

Requests per second: 1924.83 (#/sec) (mean)

Time per request: 12.988 (ms) (mean)

Time per request: 0.520 (ms) (mean, across all concurrent requests)

Transfer rate: 17299.01 (Kbytes/sec) received

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2017-09-20

java模板引擎哪个好_浅谈Java模板引擎性能对比相关推荐

  1. java方法区对象类型_浅谈Java内存区域与对象创建过程

    一.java内存区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有的区域则 ...

  2. java中单例的应用_浅谈Java中单例模式的几种应用

    目录 浅谈Java中单例模式的几种应用 第一种:懒汉式 第二种:饿汉式 第三种:双重检索式 第四种:注册登记式 第五种:内部类形式 浅谈Java中单例模式的几种应用 日常开发中,为了提高我们系统中对象 ...

  3. java的向下转型_浅谈Java向下转型的意义

    一开始学习 Java 时不重视向下转型.一直搞不清楚向下转型的意义和用途,不清楚其实就是不会,那开发的过程肯定也想不到用向下转型. 其实向上转型和向下转型都是很重要的,可能我们平时见向上转型多一点,向 ...

  4. php和java的区别菜鸟教程_浅谈Java和PHP的主要区别

    当谈到PHP与Java的差异性问题时,更多的是回答初学者的一些疑问.对于刚接触IT的同学来说,他们需要做好对未来职业的选择.所以是选择PHP还是选择Java更有利于自身的技术特点和发展前景.所以在解决 ...

  5. java字符串常量存哪里_浅谈JAVA中字符串常量的储存位置

    在讲述这些之前我们需要一些预备知识: Java的内存结构我们可以通过两个方面去看待它. 从该角度看的话Java内存结构包含以下部分:该部分内容可以结合:JVM简介(更加详细深入的介绍) 1.栈区:由编 ...

  6. java类的命名规范_浅谈Java中的命名规范

    现代软件架构的复杂性需要协同开发完成,如何高效地协同呢? 答案是:制定一整套统一的规范. 无规矩不成方圆,无规范难以协同,比如,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全,试想如果没 ...

  7. java接口是干啥_浅谈Java接口

    接口(英文:Interface)是Java中非常重要的内容,初学的时候可能感受不深,但是在做项目的时候,对面向接口编程的运用就变得尤为重要,不过这是后话了.现在先讨论假如是刚刚接触接口这个概念,该怎么 ...

  8. java四种内部类区别_浅谈Java中的四种内部类

    如果你看过一些JDK和框架源码的话,就经常会发现一般在类的定义中,都会再定义一些其他的类,这些类也同样会被编译成字节码文件,这样的类就被叫做 内部类 ,按照一般的分法,大致可以分为以下四类: 成员内部 ...

  9. java虚拟机类加载机制浅谈_浅谈Java虚拟机(三)之类加载机制

    在<浅谈Java虚拟机>这篇文章中,我们提到了JVM从操作系统方面来说,可以将其看做是一个进程,分别有类加载器子系统,执行引擎子系统和垃圾收集子系统.这一篇文章就简单的来谈一下类加载器子系 ...

  10. laytpl语法_浅谈laytpl 模板空值显示null的解决方法及简单的js表达式

    浅谈laytpl 模板空值显示null的解决方法及简单的js表达式 laytpl 模板语法 {{ d.field }} 输出一个普通字段,不转义html 官方的说明 但d.field 为空时会显示nu ...

最新文章

  1. Error: unterminated string literal。通常原因是输出字符str中包含换行符导致的。
  2. 容器日志采集利器Log-Pilot
  3. Leetcode46全排列DFS
  4. python中的set函数、列表的操作
  5. 三大趋势在移动互联网发展
  6. python分类算法的应用_07-机器学习_(lineage回归分类算法与应用) ---没用
  7. Postgre体系结构图
  8. Magento 产品推荐 extension Featured products 2.0 – revamped!
  9. A star 算法 (Python)
  10. 华为高管揭秘公司不上市的原因;微信回应「花钱就能查到聊天记录」;马斯克删除「超苹果只要几个月」评论 | 极客头条...
  11. Aapache status / apache2ctl status 总是403
  12. 毕业设计c语言课程设计,毕业设计—c语言—课程设计.doc
  13. Fedora13装nividia驱动
  14. 关于SOTIF预期功能安全的理解
  15. opencv中的GMM(混合高斯分布)算法原理及C++实现(BackgroundSubtractorMOG)
  16. .htaccess是什么?.htaccess几个简单应用
  17. 先有java后有天_Java基础第十四天总结——面向对象(下)
  18. swift 音乐播放单例
  19. bootstrap summernote富文本编辑器图片上传干货分享
  20. GitHub集成Circle CI(附 Circle CI 配置示例文件)

热门文章

  1. maven 里的 repositories里空的_IntelliJ IDEA 结合 maven通过profile实现多环境
  2. PostgreSQL 10.1 手册_部分 III. 服务器管理_第 28 章 监控数据库活动_28.3. 查看锁
  3. 为什么今日头条是技术牛人收割机(FW)
  4. linux 虚拟机采用NAT方式共享上网
  5. 菜鸟玩状态机之样式表解析
  6. 365Key今天不能用了,感觉不爽
  7. 文字识别成语音_广东人专属!微信语音转文字可以识别粤语了!
  8. winform窗体最大化、最小化、还原
  9. matlab求抛物问题,高手进,用matlab求解一维抛物方程的初边值问题 - 数学 - 小木虫 - 学术 科研 互动社区...
  10. Form-Item Slot 自定义label内容