淺談Java模板引擎性能對(duì)比
從Github上翻到對(duì)JSP、Thymeleaf 3、Velocity 1.7、Freemarker 2.3.23幾款主流模板的性能對(duì)比,總體上看,F(xiàn)reemarker、Velocity、JSP在性能上差別不大,而Thymeleaf與前三者相比,在性能上存在較大的差距,因此,選擇Thymeleaf作為模板引擎需要慎重。
參考:https://github.com/jreijn/spring-comparing-template-engines/issues/19
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
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 微信公眾號(hào)支付(二)實(shí)現(xiàn)統(tǒng)一下單接口
- 詳細(xì)介紹高性能Java緩存庫(kù)Caffeine
- java8中parallelStream性能測(cè)試及結(jié)果分析
- Java性能優(yōu)化之?dāng)?shù)據(jù)結(jié)構(gòu)實(shí)例代碼
- Java文件讀寫(xiě)IO/NIO及性能比較詳細(xì)代碼及總結(jié)
- 10種簡(jiǎn)單的Java性能優(yōu)化
- Java8中流的性能及流的幾個(gè)特性
- golang、python、php、c++、c、java、Nodejs性能對(duì)比
- JAVA下單接口優(yōu)化實(shí)戰(zhàn)TPS性能提高10倍
相關(guān)文章
Spring學(xué)習(xí)之開(kāi)發(fā)環(huán)境搭建的詳細(xì)步驟
本篇文章主要介紹了Spring學(xué)習(xí)之開(kāi)發(fā)環(huán)境搭建的詳細(xì)步驟,具有一定的參考價(jià)值,有興趣的可以了解一下2017-07-07Java數(shù)據(jù)結(jié)構(gòu)之順序表篇
順序表,全名順序存儲(chǔ)結(jié)構(gòu),是線(xiàn)性表的一種。線(xiàn)性表用于存儲(chǔ)邏輯關(guān)系為“一對(duì)一”的數(shù)據(jù),順序表自然也不例外,不僅如此,順序表對(duì)數(shù)據(jù)物理存儲(chǔ)結(jié)構(gòu)也有要求。順序表存儲(chǔ)數(shù)據(jù)時(shí),會(huì)提前申請(qǐng)一整塊足夠大小的物理空間,然后將數(shù)據(jù)依次存儲(chǔ)起來(lái),存儲(chǔ)時(shí)數(shù)據(jù)元素間不留縫隙2022-01-01Java視頻格式轉(zhuǎn)化的實(shí)現(xiàn)方法
這篇文章主要為大家詳細(xì)介紹了Java視頻格式轉(zhuǎn)化的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02Java中static修飾的靜態(tài)變量、方法及代碼塊的特性與使用
這篇文章主要介紹了Java中static修飾的靜態(tài)變量、方法及代碼塊的特性與使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04淺談Java中ArrayList線(xiàn)程不安全怎么辦
本文主要介紹了Java中ArrayList線(xiàn)程不安全怎么辦,主要有三種解決的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08基于spring boot 2和shiro實(shí)現(xiàn)身份驗(yàn)證案例
這篇文章主要介紹了基于spring boot 2和shiro實(shí)現(xiàn)身份驗(yàn)證案例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04MyBatis入門(mén)實(shí)例教程之創(chuàng)建一個(gè)簡(jiǎn)單的程序
這篇文章主要介紹了MyBatis入門(mén)創(chuàng)建一個(gè)簡(jiǎn)單的程序,在?MySQL?中創(chuàng)建數(shù)據(jù)庫(kù)?mybatisdemo,編碼為?utf8,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02SpringBoot開(kāi)啟虛擬線(xiàn)程的實(shí)現(xiàn)流程
虛擬線(xiàn)程(Virtual?Thread)也稱(chēng)協(xié)程或纖程,是一種輕量級(jí)的線(xiàn)程實(shí)現(xiàn),與傳統(tǒng)的線(xiàn)程以及操作系統(tǒng)級(jí)別的線(xiàn)程(也稱(chēng)為平臺(tái)線(xiàn)程)相比,它的創(chuàng)建開(kāi)銷(xiāo)更小、資源利用率更高,本文給大家介紹了SpringBoot如何開(kāi)啟虛擬線(xiàn)程,需要的朋友可以參考下2024-06-06