extra-benchmark 0.1.0 → 0.1.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.
package/lib/benchmark.js CHANGED
@@ -18,23 +18,8 @@ class Benchmark {
18
18
  const iterate = await fn();
19
19
  const warmUps = options.warmUps ?? this.warmUps;
20
20
  const runs = options.runs ?? this.runs;
21
- for (let i = warmUps; i--;) {
22
- await iterate();
23
- }
24
- const samples = [];
25
- for (let i = runs; i--;) {
26
- const startRSS = process.memoryUsage().rss;
27
- const startTime = process.hrtime.bigint();
28
- await iterate();
29
- const endTime = process.hrtime.bigint();
30
- const elapsedTime = endTime - startTime;
31
- const endRSS = process.memoryUsage().rss;
32
- const memoryIncrements = endRSS - startRSS;
33
- samples.push({
34
- elapsedTime,
35
- memoryIncrements
36
- });
37
- }
21
+ await sample(iterate, warmUps);
22
+ const samples = await sample(iterate, runs);
38
23
  const elapsedTimes = samples.map(x => x.elapsedTime);
39
24
  const maxiumElapsedTime = elapsedTimes.reduce((max, cur) => cur > max ? cur : max);
40
25
  const minimumElapsedTime = elapsedTimes.reduce((min, cur) => cur > min ? min : cur);
@@ -82,4 +67,21 @@ class Benchmark {
82
67
  }
83
68
  }
84
69
  exports.Benchmark = Benchmark;
70
+ async function sample(iterate, times) {
71
+ const samples = [];
72
+ for (let i = times; i--;) {
73
+ const startRSS = process.memoryUsage().rss;
74
+ const startTime = process.hrtime.bigint();
75
+ await iterate();
76
+ const endTime = process.hrtime.bigint();
77
+ const elapsedTime = endTime - startTime;
78
+ const endRSS = process.memoryUsage().rss;
79
+ const memoryIncrements = endRSS - startRSS;
80
+ samples.push({
81
+ elapsedTime,
82
+ memoryIncrements
83
+ });
84
+ }
85
+ return samples;
86
+ }
85
87
  //# sourceMappingURL=benchmark.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "extra-benchmark",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Lightweight benchmarking library.",
5
5
  "keywords": [],
6
6
  "files": [