Sharing on performance comparison of template engines in Java
This article mainly introduces a brief discussion on the performance comparison of Java template engines. The editor thinks it is quite good. Now I will share it with you and give it as a reference. Let’s follow the editor and take a look.
From Github, I found the performance comparison of several mainstream templates such as JSP, Thymeleaf 3, Velocity 1.7, and Freemarker 2.3.23. Overall, Freemarker, Velocity, and JSP have the highest performance There is not much difference in performance, but there is a big gap in performance between Thymeleaf and the first three. Therefore, you need to be careful when choosing Thymeleaf as a template engine.
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
The above is the detailed content of Sharing on performance comparison of template engines in Java. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Guide to Square Root in Java. Here we discuss how Square Root works in Java with example and its code implementation respectively.

Guide to Perfect Number in Java. Here we discuss the Definition, How to check Perfect number in Java?, examples with code implementation.

Guide to Random Number Generator in Java. Here we discuss Functions in Java with examples and two different Generators with ther examples.

Guide to Weka in Java. Here we discuss the Introduction, how to use weka java, the type of platform, and advantages with examples.

Guide to the Armstrong Number in Java. Here we discuss an introduction to Armstrong's number in java along with some of the code.

Guide to Smith Number in Java. Here we discuss the Definition, How to check smith number in Java? example with code implementation.

In this article, we have kept the most asked Java Spring Interview Questions with their detailed answers. So that you can crack the interview.

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is
