@@ -46,21 +46,41 @@ Benchmark setup configuration:
46
46
- Java: JDK 17.0.2, OpenJDK 64-Bit Server VM, 17.0.2+8-LTS
47
47
- [ Execution] ( https://github.com/GoodforGod/java-logger-benchmark/blob/master/.github/workflows/gradle.yml#L37-L50 ) : * java -jar benchmark-name.jar 2>/dev/null*
48
48
49
+ #### Raw Results
50
+
49
51
| Benchmark | Warmup | Runs | Units | goodforgod-simple | slf4j-simple | logback | log4j | java-system |
50
52
| ---| ---| ---| ---| ---| ---| ---| ---| ---|
51
- | messageAndStacktrace | 2 | 6 | ops/s | 117365±2118 | 12832±1087 | 118095±2158 | 103683±3284 | 40342±629 |
52
- | messageWithoutArguments | 2 | 6 | ops/s | 503906±24217 | 176912±13586 | 488800±37822 | 420665±8805 | 40777±617 |
53
- | messageOneArgumentInTheEnd | 2 | 6 | ops/s | 475680±23021 | 170384±29214 | 450336±4803 | 413645±32625 | 41513±823 |
54
- | messageOneArgumentInTheMiddle | 2 | 6 | ops/s | 476436±12130 | 190546±13642 | 454803±21936 | 429710±13751 | 41482±1392 |
55
- | messageOneArgumentInTheStart | 2 | 6 | ops/s | 460164±11014 | 186111±15280 | 444657±2332 | 417252±8034 | 40407±1313 |
56
- | messageTwoArgumentInTheEnd | 2 | 6 | ops/s | 449377±9286 | 178412±26319 | 440259±3819 | 371821±25846 | 40151±716 |
57
- | messageTwoArgumentInTheMiddle | 2 | 6 | ops/s | 437624±4854 | 182567±17643 | 439746±12459 | 409443±10546 | 40756±690 |
58
- | messageTwoArgumentInTheStart | 2 | 6 | ops/s | 433289±16436 | 181263±22115 | 433450±21592 | 387061±7459 | 40064±503 |
59
- | messageThreeArgumentInTheEnd | 2 | 6 | ops/s | 435443±14175 | 179582±21615 | 427762±34262 | 393146±8272 | 40407±1313 |
60
- | messageThreeArgumentInTheMiddle | 2 | 6 | ops/s | 434948±25266 | 184036±20658 | 420698±32571 | 378362±15518 | 40150±681 |
61
- | messageThreeArgumentInTheStart | 2 | 6 | ops/s | 441791±26952 | 183132±10275 | 422269±32483 | 398629±7963 | 39304±988 |
62
-
63
- You can check [ results by yourself] ( https://github.com/GoodforGod/java-logger-benchmark/actions/runs/1989473193 ) .
53
+ | messageAndStacktrace | 2 | 6 | ops/s | 118216±813 | 13338±223 | 115822±428 | 104783±501 | 40445±203 |
54
+ | messageWithoutArguments | 2 | 6 | ops/s | 499217±1199 | 175836±1835 | 473321±5493 | 417106±6782 | 43540±467 |
55
+ | messageOneArgumentInTheEnd | 2 | 6 | ops/s | 458897±4559 | 169457±3192 | 443582±2258 | 400907±5836 | 40692±811 |
56
+ | messageOneArgumentInTheMiddle | 2 | 6 | ops/s | 473144±13985 | 173946±1803 | 451131±15834 | 422485±5795 | 40464±552 |
57
+ | messageOneArgumentInTheStart | 2 | 6 | ops/s | 460671±4028 | 173542±2095 | 432312±2706 | 406973±6916 | 41138±587 |
58
+ | messageTwoArgumentInTheEnd | 2 | 6 | ops/s | 452458±6389 | 164550±3379 | 444213±3966 | 397294±7014 | 40661±531 |
59
+ | messageTwoArgumentInTheMiddle | 2 | 6 | ops/s | 432949±5454 | 168683±1862 | 442847±5500 | 390417±3958 | 41380±403 |
60
+ | messageTwoArgumentInTheStart | 2 | 6 | ops/s | 448363±4246 | 167334±2699 | 440998±4881 | 392745±10002 | 39528±231 |
61
+ | messageThreeArgumentInTheEnd | 2 | 6 | ops/s | 423541±3972 | 169260±1842 | 426526±5837 | 396242±8698 | 40128±464 |
62
+ | messageThreeArgumentInTheMiddle | 2 | 6 | ops/s | 430087±2801 | 167569±9936 | 409115±3378 | 392355±5064 | 40184±244 |
63
+ | messageThreeArgumentInTheStart | 2 | 6 | ops/s | 425695±2946 | 168490±848 | 422243±7029 | 373625±6822 | 39986±586 |
64
+
65
+ You can validate [ results yourself] ( https://github.com/GoodforGod/java-logger-benchmark/actions/runs/2004818675 ) .
66
+
67
+ #### Processed Results
68
+
69
+ If we take [ goodforgod-simple-logger] ( https://github.com/GoodforGod/slf4j-simple-logger ) as baseline and compute other loggers performance based on numbers above:
70
+
71
+ | Benchmark | goodforgod-simple | logback | log4j | slf4j-simple | java-system |
72
+ | ------------------------------- | ----------------- | ------- | ----- | ------------ | ----------- |
73
+ | messageAndStacktrace | 100 | 98.0 | 88.6 | 11.3 | 34.2 |
74
+ | messageWithoutArguments | 100 | 94.8 | 83.6 | 35.2 | 8.7 |
75
+ | messageOneArgumentInTheEnd | 100 | 96.7 | 87.4 | 36.9 | 8.9 |
76
+ | messageOneArgumentInTheMiddle | 100 | 95.3 | 89.3 | 36.8 | 8.6 |
77
+ | messageOneArgumentInTheStart | 100 | 93.8 | 88.3 | 37.7 | 8.9 |
78
+ | messageTwoArgumentInTheEnd | 100 | 98.2 | 87.8 | 36.4 | 9.0 |
79
+ | messageTwoArgumentInTheMiddle | 100 | 102.3 | 90.2 | 39.0 | 9.6 |
80
+ | messageTwoArgumentInTheStart | 100 | 98.4 | 87.6 | 37.3 | 8.8 |
81
+ | messageThreeArgumentInTheEnd | 100 | 100.7 | 93.6 | 40.0 | 9.5 |
82
+ | messageThreeArgumentInTheMiddle | 100 | 95.1 | 91.2 | 39.0 | 9.3 |
83
+ | messageThreeArgumentInTheStart | 100 | 99.2 | 87.8 | 39.6 | 9.4 |
64
84
65
85
### Setup 2
66
86
@@ -71,6 +91,8 @@ Benchmark setup configuration:
71
91
- Processor: AMD Ryzen 2600X
72
92
- Java: OpenJDK 64-Bit Server VM (build 17+35-2724, mixed mode, sharing)
73
93
- Execution: * java -jar benchmark-name.jar 2>NUL*
94
+ -
95
+ #### Raw Results
74
96
75
97
| Benchmark | Warmup | Runs | Units | goodforgod-simple | slf4j-simple | logback | log4j | java-system |
76
98
| ---| ---| ---| ---| ---| ---| ---| ---| ---|
@@ -86,16 +108,36 @@ Benchmark setup configuration:
86
108
| messageThreeArgumentInTheMiddle | 2 | 6 | ops/s | 96524±10997 | 38981±3724 | 90234±1231 | 89083±11264 | 30155±409 |
87
109
| messageThreeArgumentInTheStart | 2 | 6 | ops/s | 125277±10888 | 40526±13953 | 83704±1428 | 86095±2454 | 29521±311 |
88
110
111
+ #### Processed Results
112
+
113
+ If we take [ goodforgod-simple-logger] ( https://github.com/GoodforGod/slf4j-simple-logger ) as baseline and compute other loggers performance based on numbers above:
114
+
115
+ | Benchmark | goodforgod-simple | logback | log4j | slf4j-simple | java-system |
116
+ | ------------------------------- | ----------------- | ------- | ----- | ------------ | ----------- |
117
+ | messageAndStacktrace | 100 | 93.0 | 74.5 | 4.6 | 38.7 |
118
+ | messageWithoutArguments | 100 | 84.7 | 74.4 | 26.8 | 26.6 |
119
+ | messageOneArgumentInTheEnd | 100 | 79.9 | 74.9 | 37.3 | 25.6 |
120
+ | messageOneArgumentInTheMiddle | 100 | 59.5 | 65.3 | 29.2 | 22.0 |
121
+ | messageOneArgumentInTheStart | 100 | 87.8 | 92.4 | 41.5 | 30.3 |
122
+ | messageTwoArgumentInTheEnd | 100 | 89.3 | 92.1 | 46.2 | 30.7 |
123
+ | messageTwoArgumentInTheMiddle | 100 | 84.7 | 94.5 | 41.2 | 29.6 |
124
+ | messageTwoArgumentInTheStart | 100 | 94.5 | 88.4 | 49.7 | 30.0 |
125
+ | messageThreeArgumentInTheEnd | 100 | 92.1 | 90.6 | 47.3 | 29.8 |
126
+ | messageThreeArgumentInTheMiddle | 100 | 93.5 | 92.3 | 40.4 | 31.2 |
127
+ | messageThreeArgumentInTheStart | 100 | 66.8 | 68.7 | 32.3 | 23.6 |
128
+
89
129
### Setup 3
90
130
91
131
This benchmark ** have forwarded stderr to NUL** * (/dev/null analog in windows)*
92
132
93
133
Benchmark setup configuration:
94
134
- OS: Windows 10
95
135
- Processor: Intel i5-6200U
96
- - Java:
136
+ - Java: OpenJDK 64-Bit Server VM (build 17.0.1+12-39, mixed mode, sharing)
97
137
- Execution: * java -jar benchmark-name.jar 2>NUL*
98
138
139
+ #### Raw Results
140
+
99
141
| Benchmark | Warmup | Runs | Units | goodforgod-simple | slf4j-simple | logback | log4j | java-system |
100
142
| ---| ---| ---| ---| ---| ---| ---| ---| ---|
101
143
| messageAndStacktrace | 2 | 6 | ops/s | 44741±1227 | 2074±166 | 30574±551 | 28409±718 | 15384±161 |
@@ -110,6 +152,23 @@ Benchmark setup configuration:
110
152
| messageThreeArgumentInTheMiddle | 2 | 6 | ops/s | 74463±1725 | 30986±4792 | 69847±1797 | 66406±1474 | 20311±333 |
111
153
| messageThreeArgumentInTheStart | 2 | 6 | ops/s | 75444±1727 | 30203±4660 | 68149±3567 | 66786±1621 | 20280±315 |
112
154
155
+ #### Processed Results
156
+
157
+ If we take [ goodforgod-simple-logger] ( https://github.com/GoodforGod/slf4j-simple-logger ) as baseline and compute other loggers performance based on numbers above:
158
+
159
+ | Benchmark | goodforgod-simple | logback | log4j | slf4j-simple | java-system |
160
+ | ------------------------------- | ----------------- | ------- | ----- | ------------ | ----------- |
161
+ | messageAndStacktrace | 100 | 68.3 | 63.5 | 4.6 | 34.4 |
162
+ | messageWithoutArguments | 100 | 93.5 | 91.3 | 42.7 | 25.9 |
163
+ | messageOneArgumentInTheEnd | 100 | 93.3 | 89.9 | 42.8 | 27.0 |
164
+ | messageOneArgumentInTheMiddle | 100 | 94.8 | 87.3 | 41.2 | 26.7 |
165
+ | messageOneArgumentInTheStart | 100 | 91.1 | 91.1 | 42.5 | 27.4 |
166
+ | messageTwoArgumentInTheEnd | 100 | 89.0 | 87.6 | 43.5 | 27.2 |
167
+ | messageTwoArgumentInTheMiddle | 100 | 92.0 | 91.5 | 40.1 | 26.8 |
168
+ | messageTwoArgumentInTheStart | 100 | 90.7 | 89.3 | 45.4 | 26.7 |
169
+ | messageThreeArgumentInTheEnd | 100 | 87.5 | 88.0 | 40.5 | 26.8 |
170
+ | messageThreeArgumentInTheMiddle | 100 | 93.8 | 89.2 | 41.6 | 27.3 |
171
+ | messageThreeArgumentInTheStart | 100 | 90.3 | 88.5 | 40.0 | 26.9 |
113
172
114
173
## Run
115
174
0 commit comments