@specs-feup/clava
Version:
A C/C++ source-to-source compiler written in Typescript
46 lines • 1.77 kB
TypeScript
import { JavaClasses } from "@specs-feup/lara/api/lara/util/JavaTypes.js";
import { FunctionJp } from "../../Joinpoints.js";
import CMaker from "../cmake/CMaker.js";
export default class Gprofer {
private _runs;
private _args;
private _app;
private _workingDir;
private _deleteWorkingDir;
private _checkReturn;
private _data;
private _hotSpots;
private _cmaker;
private _gProfer;
constructor(runs?: number, args?: string[]);
getCmaker(): CMaker;
static _EXE_NAME: string;
protected defaultCmaker(): CMaker;
protected static _buildName($function: FunctionJp): string;
setArgs(args: string[]): this;
setRuns(runs: number): this;
setCheckReturn(checkReturn: boolean): this;
setWorkingDir(workingDir: string, deleteWorkingDir: boolean): this;
profile(): this;
getHotspotNames(): Record<number, string>;
writeProfile(path?: JavaClasses.File): void;
readProfile(path?: JavaClasses.File): void;
/**
*
* May return undefined if the desired function is a system or library function and not available in the source code.
* */
getHotspot(rank?: number): FunctionJp | undefined;
/**
* Internal method that uses the signature to identify a function.
* */
protected _getHotspot(signature: string): FunctionJp | undefined;
getPercentage($function: FunctionJp): number;
getCalls($function: FunctionJp): number;
getSelfSeconds($function: FunctionJp): number;
getSelfMsCall($function: FunctionJp): number;
getTotalMsCall($function: FunctionJp): number;
protected get(type: string, $function: FunctionJp): number;
print($function: FunctionJp): void;
removeSystemFunctions(): void;
}
//# sourceMappingURL=Gprofer.d.ts.map