forked from MCJack123/TypeScriptToLua
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbenchmark_types.ts
More file actions
38 lines (30 loc) · 967 Bytes
/
benchmark_types.ts
File metadata and controls
38 lines (30 loc) · 967 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
export enum BenchmarkKind {
Memory = "memory",
Runtime = "runtime",
}
export type BenchmarkFunction = () => void;
export type BenchmarkResult = MemoryBenchmarkResult | RuntimeBenchmarkResult;
export enum MemoryBenchmarkCategory {
TotalMemory = "totalMemory",
Garbage = "garbage",
}
export interface MemoryBenchmarkResult {
kind: BenchmarkKind.Memory;
categories: Record<MemoryBenchmarkCategory, number>;
benchmarkName: string;
}
export function isMemoryBenchmarkResult(result: BenchmarkResult): result is MemoryBenchmarkResult {
return result.kind === BenchmarkKind.Memory;
}
export interface RuntimeBenchmarkResult {
kind: BenchmarkKind.Runtime;
time: number;
benchmarkName: string;
}
export function isRuntimeBenchmarkResult(result: BenchmarkResult): result is RuntimeBenchmarkResult {
return result.kind === BenchmarkKind.Runtime;
}
export interface ComparisonInfo {
summary: string;
text: string;
}