hyperformula-dc
Version:
HyperFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas
44 lines (43 loc) • 1.21 kB
TypeScript
/**
* @license
* Copyright (c) 2021 Handsoncode. All rights reserved.
*/
import { StatType } from './StatType';
/**
* Provides tracking performance statistics to the engine
*/
export declare class Statistics {
protected readonly stats: Map<StatType, number>;
protected readonly startTimes: Map<StatType, number>;
incrementCriterionFunctionFullCacheUsed(): void;
incrementCriterionFunctionPartialCacheUsed(): void;
/**
* Resets statistics
*/
reset(): void;
/**
* Starts tracking particular statistic.
*
* @param name - statistic to start tracking
*/
start(name: StatType): void;
/**
* Stops tracking particular statistic.
* Raise error if tracking statistic wasn't started.
*
* @param name - statistic to stop tracking
*/
end(name: StatType): void;
/**
* Measure given statistic as execution of given function.
*
* @param name - statistic to track
* @param func - function to call
* @returns result of the function call
*/
measure<T>(name: StatType, func: () => T): T;
/**
* Returns the snapshot of current results
*/
snapshot(): Map<StatType, number>;
}