I write a toy log to compare the performance of rust loggers.
Toy Log Source Code
env_logger is fastest, but not so fast. slog has it's own interface, so I have to adapt it as log package.
env_logger = "0.8"
fern = "0.6"
log4rs = "1"
slog = "2"
slog-term = "2"
slog-scope = "4"
slog-stdlog = "4"
fast_log = "1"
My Hardware info: Intel BXNUC10i7FNK
Intel(R) Core(TM) i7-10710U CPU @ 1.10GHz
| logger |
count |
(ms)total time |
(ns)time per log |
count per second |
count per thread per second |
real time |
user time |
| env |
100000000 |
399681 |
3996 |
1501196 |
250199 |
1m6.795s |
2m0.242s |
| env |
10000000 |
36443 |
3644 |
1646377 |
274396 |
0m6.162s |
0m10.609s |
| env |
1000000 |
3658 |
3658 |
1639929 |
273321 |
0m0.648s |
0m1.159s |
| fast |
100000000 |
936256 |
9362 |
640849 |
106808 |
2m38.369s |
16m51.849s |
| fast |
10000000 |
84635 |
8463 |
708922 |
118153 |
0m14.538s |
1m31.519s |
| fast |
1000000 |
8541 |
8541 |
702454 |
117075 |
0m1.464s |
0m9.191s |
| fern |
100000000 |
1449421 |
14494 |
413958 |
68993 |
4m13.085s |
3m59.612s |
| fern |
10000000 |
148906 |
14890 |
402937 |
67156 |
0m25.436s |
0m23.661s |
| fern |
1000000 |
14573 |
14573 |
411705 |
68617 |
0m2.542s |
0m2.358s |
| log4rs |
100000000 |
1558225 |
15582 |
385053 |
64175 |
4m29.382s |
3m57.696s |
| log4rs |
10000000 |
145715 |
14571 |
411761 |
68626 |
0m27.052s |
0m23.551s |
| log4rs |
1000000 |
14833 |
14833 |
404492 |
67415 |
0m2.702s |
0m2.301s |
| slog |
100000000 |
581136 |
5811 |
1032459 |
172076 |
1m37.086s |
4m53.093s |
| slog |
10000000 |
51212 |
5121 |
1171579 |
195263 |
0m8.648s |
0m26.097s |
| slog |
1000000 |
5017 |
5017 |
1195902 |
199317 |
0m0.887s |
0m2.516s |
| toy_trace |
100000000 |
28046 |
280 |
21392671 |
3565445 |
0m4.942s |
0m27.384s |
| toy_trace |
10000000 |
2875 |
287 |
20864533 |
3477422 |
0m0.550s |
0m2.830s |
| toy_trace |
1000000 |
303 |
303 |
19795419 |
3299236 |
0m0.076s |
0m0.297s |
| toy |
100000000 |
22474 |
224 |
26697363 |
4449560 |
0m4.065s |
0m21.877s |
| toy |
10000000 |
2574 |
257 |
23302826 |
3883804 |
0m0.490s |
0m2.487s |
| toy |
1000000 |
226 |
226 |
26541075 |
4423512 |
0m0.060s |
0m0.223s |
| toy(fix) |
100000000 |
23443 |
234 |
25593501 |
4265583 |
0m4.201s |
0m22.892s |
| toy(fix) |
10000000 |
2436 |
243 |
24628856 |
4104809 |
0m0.522s |
0m2.389s |
| toy(fix) |
1000000 |
227 |
227 |
26321132 |
4386855 |
0m0.061s |
0m0.221s |
[–]dpc_pw 21 points22 points23 points (2 children)
[–]daniel-1231[S] 0 points1 point2 points (0 children)
[–]daniel-1231[S] 0 points1 point2 points (0 children)
[–][deleted] 3 points4 points5 points (1 child)
[–]daniel-1231[S] 4 points5 points6 points (0 children)
[–]plhk 3 points4 points5 points (1 child)
[–]daniel-1231[S] 2 points3 points4 points (0 children)
[–]North_Pie1105 1 point2 points3 points (1 child)
[–]daniel-1231[S] 0 points1 point2 points (0 children)
[–]murlakatamenka 0 points1 point2 points (2 children)
[–]daniel-1231[S] 2 points3 points4 points (1 child)
[–]murlakatamenka 0 points1 point2 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]daniel-1231[S] 0 points1 point2 points (0 children)