日志框架:logback, 版本为:1.2.3, 处理器:i5-9500F, 内存:16g
比较占位符方式和字符串拼接方式输出日志到控制台的时间 单位毫秒
方式一:
循环1w次,多次使用占位符和拼接,比较两种方式的总时间,总共10次。
代码:
第一次:
占位符: 214
字符串拼接:446
第二次:
占位符: 214
字符串拼接:379
第三次:
占位符: 205
字符串拼接:398
第四次:
占位符: 201
字符串拼接:214
第五次:
占位符: 299
字符串拼接:214
第六次:
占位符: 211
字符串拼接:276
第七次:
占位符: 211
字符串拼接:288
第八次:
占位符: 202
字符串拼接:204
第九次:
占位符: 209
字符串拼接:214
第十次:
占位符: 206
字符串拼接:422
方式二:
循环1w次,使用一次占位符和拼接,比较两种方式的总时间,总共5次。
代码:
第一次:
占位符:152
字符串拼接:134
第二次:
占位符: 168
字符串拼接:119
第三次:
占位符: 153
字符串拼接:115
第四次:
占位符: 153
字符串拼接:168
第五次:
占位符: 148
字符串拼接:128
通过两种方式分析可以得出:
多次使用占位符效率要优于字符串拼接,单次字符串拼接效率优于占位符,但是字符串的波动比较大,不是很稳定。单次的情况1w次打印时间在200ms以内,平均每次0.02ms。可见logback是非常高效的,具体使用占位符还是字符串拼接,可以看项目使用情况,以前是哪种方式就沿用那种方式,统一风格,没有必要在者两者的效率上纠结。