1
0
Fork 0
firefox/toolkit/components/url-classifier/tests/performance/head.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

41 lines
1.1 KiB
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/**
* Create an interface to measure iterations for a micro benchmark. These iterations
* will then be reported to the perftest runner.
*
* @param {string} metricName
*/
function measureIterations(metricName) {
let accumulatedTime = 0;
let iterations = 0;
let now = 0;
return {
/**
* Start a measurement.
*/
start() {
now = Cu.now();
},
/**
* Stop a measurement, and record the elapsed time.
*/
stop() {
accumulatedTime += Cu.now() - now;
iterations++;
},
/**
* Report the metrics to perftest after finishing the microbenchmark.
*/
reportMetrics() {
const metrics = {};
metrics[metricName + " iterations"] = iterations;
metrics[metricName + " accumulatedTime"] = accumulatedTime;
metrics[metricName + " perCallTime"] = accumulatedTime / iterations;
info("perfMetrics", metrics);
},
};
}