extra-benchmark 0.2.0 → 0.2.2
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.
- package/CHANGELOG.md +38 -0
- package/lib/benchmark.js +5 -6
- package/lib/benchmark.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
|
+
|
|
5
|
+
### [0.2.2](https://github.com/BlackGlory/extra-benchmark/compare/v0.2.1...v0.2.2) (2022-11-28)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* performance for Node.js v14 ([cc65ecf](https://github.com/BlackGlory/extra-benchmark/commit/cc65ecf7047439f4b1c3ddd8d3a64ff33a69c0b9))
|
|
11
|
+
|
|
12
|
+
### [0.2.1](https://github.com/BlackGlory/extra-benchmark/compare/v0.2.0...v0.2.1) (2022-11-27)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* the behavior related to `afterAll` ([8fd13aa](https://github.com/BlackGlory/extra-benchmark/commit/8fd13aa6d60e6fe5f176ae06d31e1198eef99a3f))
|
|
18
|
+
|
|
19
|
+
## [0.2.0](https://github.com/BlackGlory/extra-benchmark/compare/v0.1.1...v0.2.0) (2022-11-27)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### ⚠ BREAKING CHANGES
|
|
23
|
+
|
|
24
|
+
* - Remove `operationsPerNanosecond` of `IBenchmarkCaseResult`
|
|
25
|
+
- `maximumElapsedTime`, `minimumElapsedTime`, `averageElapsedTime` uints changed to milliseconds
|
|
26
|
+
* Renamed `warmUps` to `warms`
|
|
27
|
+
|
|
28
|
+
* remove BigInt values ([93195cc](https://github.com/BlackGlory/extra-benchmark/commit/93195cc4cbd9177c175238a65a118a8488be640d))
|
|
29
|
+
* rename `warmUps` to `warms` ([4b64747](https://github.com/BlackGlory/extra-benchmark/commit/4b64747a3ae229f18810b136feb6ac019d6ac411))
|
|
30
|
+
|
|
31
|
+
### [0.1.1](https://github.com/BlackGlory/extra-benchmark/compare/v0.1.0...v0.1.1) (2022-09-10)
|
|
32
|
+
|
|
33
|
+
## 0.1.0 (2022-09-09)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Features
|
|
37
|
+
|
|
38
|
+
* init ([6877521](https://github.com/BlackGlory/extra-benchmark/commit/6877521f1af35288a76e49de589d3d10d8a32942))
|
package/lib/benchmark.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Benchmark = void 0;
|
|
4
4
|
const prelude_1 = require("@blackglory/prelude");
|
|
5
|
+
const perf_hooks_1 = require("perf_hooks");
|
|
5
6
|
class Benchmark {
|
|
6
7
|
constructor(name, options = {}) {
|
|
7
8
|
this.name = name;
|
|
@@ -24,15 +25,14 @@ class Benchmark {
|
|
|
24
25
|
await sample({
|
|
25
26
|
iterate,
|
|
26
27
|
beforeEach,
|
|
27
|
-
afterAll,
|
|
28
28
|
times: warms
|
|
29
29
|
});
|
|
30
30
|
const samples = await sample({
|
|
31
31
|
iterate,
|
|
32
32
|
beforeEach,
|
|
33
|
-
afterAll,
|
|
34
33
|
times: runs
|
|
35
34
|
});
|
|
35
|
+
await afterAll();
|
|
36
36
|
const elapsedTimes = samples.map(x => x.elapsedTime);
|
|
37
37
|
const maxiumElapsedTime = elapsedTimes.reduce((max, cur) => {
|
|
38
38
|
return cur > max ? cur : max;
|
|
@@ -73,14 +73,14 @@ class Benchmark {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
exports.Benchmark = Benchmark;
|
|
76
|
-
async function sample({ iterate, beforeEach,
|
|
76
|
+
async function sample({ iterate, beforeEach, times }) {
|
|
77
77
|
const samples = [];
|
|
78
78
|
for (let i = times; i--;) {
|
|
79
79
|
await beforeEach();
|
|
80
80
|
const startRSS = process.memoryUsage().rss;
|
|
81
|
-
const startTime = performance.now();
|
|
81
|
+
const startTime = perf_hooks_1.performance.now();
|
|
82
82
|
const afterEach = await iterate();
|
|
83
|
-
const endTime = performance.now();
|
|
83
|
+
const endTime = perf_hooks_1.performance.now();
|
|
84
84
|
const endRSS = process.memoryUsage().rss;
|
|
85
85
|
if ((0, prelude_1.isFunction)(afterEach)) {
|
|
86
86
|
await afterEach();
|
|
@@ -89,7 +89,6 @@ async function sample({ iterate, beforeEach, afterAll, times }) {
|
|
|
89
89
|
const memoryIncrements = endRSS - startRSS;
|
|
90
90
|
samples.push({ elapsedTime, memoryIncrements });
|
|
91
91
|
}
|
|
92
|
-
await afterAll();
|
|
93
92
|
return samples;
|
|
94
93
|
}
|
|
95
94
|
//# sourceMappingURL=benchmark.js.map
|
package/lib/benchmark.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":"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"}
|