///
import { CpuInfo } from "os";
export interface RelationCacheSizes {
assignable: number;
identity: number;
subtype: number;
}
export interface PackageBenchmark {
batchRunStart: Date;
packageName: string;
packageVersionMajor: number;
packageVersionMinor: number;
sourceVersion: string;
typeScriptVersion: string;
typeScriptVersionMajorMinor: string;
typeCount: number;
memoryUsage: number;
benchmarkDuration: number;
relationCacheSizes?: RelationCacheSizes;
testIdentifierCount: number;
requestedLanguageServiceTestIterations: number;
languageServiceCrashed: boolean;
languageServiceBenchmarks: LanguageServiceBenchmark[];
}
export interface PackageBenchmarkSummary {
batchRunStart: Date;
packageName: string;
packageVersionMajor: number;
packageVersionMinor: number;
typeScriptVersion: string;
typeScriptVersionMajorMinor: string;
sourceVersion: string;
typeCount: number;
memoryUsage: number;
benchmarkDuration: number;
relationCacheSizes?: RelationCacheSizes;
testIdentifierCount: number;
requestedLanguageServiceTestIterations: number;
languageServiceCrashed: boolean;
completions: StatSummary;
quickInfo: StatSummary;
}
export interface TypeScriptComparisonRun {
compareAgainstPackageBenchmarkId: string;
sourceVersion: string;
headBenchmark: PackageBenchmarkSummary;
}
export interface StatSummary {
mean: number;
median: number;
standardDeviation: number;
meanCoefficientOfVariation: number;
trials: number;
worst: T;
}
export interface LanguageServiceBenchmark {
fileName: string;
identifierText: string;
line: number;
offset: number;
start: number;
end: number;
quickInfoDurations: number[];
completionsDurations: number[];
}
export interface LanguageServiceSingleMeasurement {
fileName: string;
start: number;
quickInfoDuration: number;
completionsDuration: number;
}
export type Omit = Pick>;
export interface SystemInfo {
cpus: Omit[];
arch: string;
platform: string;
release: string;
totalmem: number;
hash: string;
nodeVersion: string;
}