@nestia/benchmark 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -36,7 +36,7 @@ var DynamicBenchmarWriter;
|
|
|
36
36
|
var format = function (value) {
|
|
37
37
|
return value === null ? "N/A" : (Math.floor(value * 100) / 100).toLocaleString();
|
|
38
38
|
};
|
|
39
|
-
var
|
|
39
|
+
var head = function () {
|
|
40
40
|
return [
|
|
41
41
|
"Type",
|
|
42
42
|
"Count",
|
|
@@ -49,7 +49,7 @@ var DynamicBenchmarWriter;
|
|
|
49
49
|
"\n" +
|
|
50
50
|
new Array(7).fill("----").join("|");
|
|
51
51
|
};
|
|
52
|
-
var
|
|
52
|
+
var row = function (title, s) {
|
|
53
53
|
return [
|
|
54
54
|
title,
|
|
55
55
|
s.count.toLocaleString(),
|
|
@@ -60,6 +60,12 @@ var DynamicBenchmarWriter;
|
|
|
60
60
|
format(s.maximum),
|
|
61
61
|
].join(" | ");
|
|
62
62
|
};
|
|
63
|
+
var line = function (getter) {
|
|
64
|
+
return "line [".concat(report.memories.map(function (m) { return Math.floor(getter(m.usage) / Math.pow(1024, 2)); }).join(", "), "]");
|
|
65
|
+
};
|
|
66
|
+
var legend = function (color, label) {
|
|
67
|
+
return "<font color='".concat(color, "'>\u25A0</font> ").concat(label);
|
|
68
|
+
};
|
|
63
69
|
return __spreadArray(__spreadArray(__spreadArray([
|
|
64
70
|
"# Benchmark Report",
|
|
65
71
|
"> Generated by [`@nestia/benchmark`](https://github.com/samchon/nestia)",
|
|
@@ -78,8 +84,8 @@ var DynamicBenchmarWriter;
|
|
|
78
84
|
" - Complete: ".concat(report.completed_at),
|
|
79
85
|
" - Elapsed: ".concat((new Date(report.completed_at).getTime() - new Date(report.started_at).getTime()).toLocaleString(), " ms"),
|
|
80
86
|
"",
|
|
81
|
-
|
|
82
|
-
|
|
87
|
+
head(),
|
|
88
|
+
row("Total", report.statistics),
|
|
83
89
|
"",
|
|
84
90
|
"> Unit: milliseconds",
|
|
85
91
|
"",
|
|
@@ -88,16 +94,24 @@ var DynamicBenchmarWriter;
|
|
|
88
94
|
"xychart-beta",
|
|
89
95
|
" x-axis \"Time (second)\"",
|
|
90
96
|
" y-axis \"Memory (MB)\"",
|
|
91
|
-
"
|
|
97
|
+
" ".concat(line(function (m) { return m.rss; })),
|
|
98
|
+
" ".concat(line(function (m) { return m.heapTotal; })),
|
|
99
|
+
" ".concat(line(function (m) { return m.heapUsed + m.external; })),
|
|
100
|
+
" ".concat(line(function (m) { return m.heapUsed; })),
|
|
92
101
|
"```",
|
|
93
102
|
"",
|
|
103
|
+
" - ".concat(legend("#5193d1", "Resident Set Size")),
|
|
104
|
+
" - ".concat(legend("#64c779", "Heap Total")),
|
|
105
|
+
" - ".concat(legend("#c85443", "Heap Used + External")),
|
|
106
|
+
" - ".concat(legend("#eac644", "Heap Used Only")),
|
|
107
|
+
"",
|
|
94
108
|
"## Endpoints",
|
|
95
|
-
|
|
109
|
+
head()
|
|
96
110
|
], __read(report.endpoints
|
|
97
111
|
.slice()
|
|
98
112
|
.sort(function (a, b) { var _a, _b; return ((_a = b.mean) !== null && _a !== void 0 ? _a : 0) - ((_b = a.mean) !== null && _b !== void 0 ? _b : 0); })
|
|
99
113
|
.map(function (endpoint) {
|
|
100
|
-
return
|
|
114
|
+
return row("".concat(endpoint.method, " ").concat(endpoint.path), endpoint);
|
|
101
115
|
})), false), [
|
|
102
116
|
"",
|
|
103
117
|
"> Unit: milliseconds",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicBenchmarkReporter.js","sourceRoot":"","sources":["../../src/internal/DynamicBenchmarkReporter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAoB;AAIpB,IAAiB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"DynamicBenchmarkReporter.js","sourceRoot":"","sources":["../../src/internal/DynamicBenchmarkReporter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@ export namespace DynamicBenchmarWriter {
|
|
|
6
6
|
export const markdown = (report: DynamicBenchmarker.IReport): string => {
|
|
7
7
|
const format = (value: number | null) =>
|
|
8
8
|
value === null ? "N/A" : (Math.floor(value * 100) / 100).toLocaleString();
|
|
9
|
-
const
|
|
9
|
+
const head = () =>
|
|
10
10
|
[
|
|
11
11
|
"Type",
|
|
12
12
|
"Count",
|
|
@@ -18,10 +18,7 @@ export namespace DynamicBenchmarWriter {
|
|
|
18
18
|
].join(" | ") +
|
|
19
19
|
"\n" +
|
|
20
20
|
new Array(7).fill("----").join("|");
|
|
21
|
-
const
|
|
22
|
-
title: string,
|
|
23
|
-
s: DynamicBenchmarker.IReport.IStatistics,
|
|
24
|
-
) =>
|
|
21
|
+
const row = (title: string, s: DynamicBenchmarker.IReport.IStatistics) =>
|
|
25
22
|
[
|
|
26
23
|
title,
|
|
27
24
|
s.count.toLocaleString(),
|
|
@@ -31,6 +28,11 @@ export namespace DynamicBenchmarWriter {
|
|
|
31
28
|
format(s.minimum),
|
|
32
29
|
format(s.maximum),
|
|
33
30
|
].join(" | ");
|
|
31
|
+
const line = (getter: (m: NodeJS.MemoryUsage) => number): string =>
|
|
32
|
+
`line [${report.memories.map((m) => Math.floor(getter(m.usage) / 1024 ** 2)).join(", ")}]`;
|
|
33
|
+
const legend = (color: string, label: string): string =>
|
|
34
|
+
`<font color='${color}'>■</font> ${label}`;
|
|
35
|
+
|
|
34
36
|
return [
|
|
35
37
|
`# Benchmark Report`,
|
|
36
38
|
"> Generated by [`@nestia/benchmark`](https://github.com/samchon/nestia)",
|
|
@@ -49,8 +51,8 @@ export namespace DynamicBenchmarWriter {
|
|
|
49
51
|
` - Complete: ${report.completed_at}`,
|
|
50
52
|
` - Elapsed: ${(new Date(report.completed_at).getTime() - new Date(report.started_at).getTime()).toLocaleString()} ms`,
|
|
51
53
|
``,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
+
head(),
|
|
55
|
+
row("Total", report.statistics),
|
|
54
56
|
"",
|
|
55
57
|
"> Unit: milliseconds",
|
|
56
58
|
"",
|
|
@@ -59,16 +61,24 @@ export namespace DynamicBenchmarWriter {
|
|
|
59
61
|
"xychart-beta",
|
|
60
62
|
` x-axis "Time (second)"`,
|
|
61
63
|
` y-axis "Memory (MB)"`,
|
|
62
|
-
`
|
|
64
|
+
` ${line((m) => m.rss)}`,
|
|
65
|
+
` ${line((m) => m.heapTotal)}`,
|
|
66
|
+
` ${line((m) => m.heapUsed + m.external)}`,
|
|
67
|
+
` ${line((m) => m.heapUsed)}`,
|
|
63
68
|
"```",
|
|
64
69
|
"",
|
|
70
|
+
` - ${legend("#5193d1", "Resident Set Size")}`,
|
|
71
|
+
` - ${legend("#64c779", "Heap Total")}`,
|
|
72
|
+
` - ${legend("#c85443", "Heap Used + External")}`,
|
|
73
|
+
` - ${legend("#eac644", "Heap Used Only")}`,
|
|
74
|
+
"",
|
|
65
75
|
"## Endpoints",
|
|
66
|
-
|
|
76
|
+
head(),
|
|
67
77
|
...report.endpoints
|
|
68
78
|
.slice()
|
|
69
79
|
.sort((a, b) => (b.mean ?? 0) - (a.mean ?? 0))
|
|
70
80
|
.map((endpoint) =>
|
|
71
|
-
|
|
81
|
+
row(`${endpoint.method} ${endpoint.path}`, endpoint),
|
|
72
82
|
),
|
|
73
83
|
"",
|
|
74
84
|
"> Unit: milliseconds",
|