UNPKG

1.98 kBJavaScriptView Raw
1import { bench, mainBenchFn } from "@compas/cli";
2import pino from "pino";
3import { newLogger } from "./logger.js";
4
5mainBenchFn(import.meta);
6
7bench("logger - strings", (b) => {
8 const logger = newLogger({
9 printer: "ndjson",
10 pinoOptions: {
11 destination: {
12 write: () => {},
13 },
14 },
15 });
16
17 for (let i = 0; i < b.N; ++i) {
18 logger.info("My simple string");
19 }
20});
21
22bench("pino - default - strings", (b) => {
23 const logger = pino(
24 {},
25 {
26 write: () => {},
27 },
28 );
29
30 for (let i = 0; i < b.N; ++i) {
31 logger.info("My simple string");
32 }
33});
34
35bench("logger - objects", (b) => {
36 const logger = newLogger({
37 printer: "ndjson",
38 pinoOptions: {
39 destination: {
40 write: () => {},
41 },
42 },
43 });
44
45 for (let i = 0; i < b.N; ++i) {
46 logger.info({
47 my: {
48 simple: "object",
49 },
50 });
51 }
52});
53
54bench("pino - default - objects", (b) => {
55 const logger = pino(
56 {},
57 {
58 write: () => {},
59 },
60 );
61
62 for (let i = 0; i < b.N; ++i) {
63 logger.info({
64 my: {
65 simple: "object",
66 },
67 });
68 }
69});
70
71bench("logger - deep objects", (b) => {
72 const logger = newLogger({
73 printer: "ndjson",
74 pinoOptions: {
75 destination: {
76 write: () => {},
77 },
78 },
79 });
80
81 for (let i = 0; i < b.N; ++i) {
82 logger.info({
83 my: {
84 more: [
85 {
86 advanced: {
87 object: "with",
88 multiple: "keys",
89 foo: 5,
90 },
91 },
92 ],
93 },
94 bar: true,
95 });
96 }
97});
98
99bench("pino - default - deep objects", (b) => {
100 const logger = pino(
101 {},
102 {
103 write: () => {},
104 },
105 );
106
107 for (let i = 0; i < b.N; ++i) {
108 logger.info({
109 my: {
110 more: [
111 {
112 advanced: {
113 object: "with",
114 multiple: "keys",
115 foo: 5,
116 },
117 },
118 ],
119 },
120 bar: true,
121 });
122 }
123});