10 classes
tsz is 4.6x faster 463 lines 8 KB
Timing
Files
// Synthetic TypeScript benchmark file
export interface Config0 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service0 implements Config0 {
readonly id: number = 0;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) { this.name = name; }
getId(): number { return this.id; }
getName(): string { return this.name; }
setName(value: string): void { this.name = value; }
isEnabled(): boolean { return this.enabled; }
addItem(item: string): void { this.items.push(item); }
getItems(): readonly string[] { return this.items; }
static create(name: string): Service0 { return new Service0(name); }
}
export interface Config1 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service1 implements Config1 {
readonly id: number = 1;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) { this.name = name; }
getId(): number { return this.id; }
getName(): string { return this.name; }
setName(value: string): void { this.name = value; }
isEnabled(): boolean { return this.enabled; }
addItem(item: string): void { this.items.push(item); }
getItems(): readonly string[] { return this.items; }
static create(name: string): Service1 { return new Service1(name); }
}
export interface Config2 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service2 implements Config2 {
readonly id: number = 2;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) { this.name = name; }
getId(): number { return this.id; }
getName(): string { return this.name; }
setName(value: string): void { this.name = value; }
isEnabled(): boolean { return this.enabled; }
addItem(item: string): void { this.items.push(item); }
getItems(): readonly string[] { return this.items; }
static create(name: string): Service2 { return new Service2(name); }
}
export interface Config3 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service3 implements Config3 {
readonly id: number = 3;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) { this.name = name; }
getId(): number { return this.id; }
getName(): string { return this.name; }
setName(value: string): void { this.name = value; }
isEnabled(): boolean { return this.enabled; }
addItem(item: string): void { this.items.push(item); }
getItems(): readonly string[] { return this.items; }
static create(name: string): Service3 { return new Service3(name); }
}
export interface Config4 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service4 implements Config4 {
readonly id: number = 4;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) { this.name = name; }
getId(): number { return this.id; }
getName(): string { return this.name; }
setName(value: string): void { this.name = value; }
isEnabled(): boolean { return this.enabled; }
addItem(item: string): void { this.items.push(item); }
getItems(): readonly string[] { return this.items; }
static create(name: string): Service4 { return new Service4(name); }
}
export interface Config5 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service5 implements Config5 {
readonly id: number = 5;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) { this.name = name; }
getId(): number { return this.id; }
getName(): string { return this.name; }
setName(value: string): void { this.name = value; }
isEnabled(): boolean { return this.enabled; }
addItem(item: string): void { this.items.push(item); }
getItems(): readonly string[] { return this.items; }
static create(name: string): Service5 { return new Service5(name); }
}
export interface Config6 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service6 implements Config6 {
readonly id: number = 6;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) { this.name = name; }
getId(): number { return this.id; }
getName(): string { return this.name; }
setName(value: string): void { this.name = value; }
isEnabled(): boolean { return this.enabled; }
addItem(item: string): void { this.items.push(item); }
getItems(): readonly string[] { return this.items; }
static create(name: string): Service6 { return new Service6(name); }
}
export interface Config7 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service7 implements Config7 {
readonly id: number = 7;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) { this.name = name; }
getId(): number { return this.id; }
getName(): string { return this.name; }
setName(value: string): void { this.name = value; }
isEnabled(): boolean { return this.enabled; }
addItem(item: string): void { this.items.push(item); }
getItems(): readonly string[] { return this.items; }
static create(name: string): Service7 { return new Service7(name); }
}
export interface Config8 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service8 implements Config8 {
readonly id: number = 8;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) { this.name = name; }
getId(): number { return this.id; }
getName(): string { return this.name; }
setName(value: string): void { this.name = value; }
isEnabled(): boolean { return this.enabled; }
addItem(item: string): void { this.items.push(item); }
getItems(): readonly string[] { return this.items; }
static create(name: string): Service8 { return new Service8(name); }
}
export interface Config9 {
readonly id: number;
name: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export class Service9 implements Config9 {
readonly id: number = 9;
name: string;
enabled: boolean = true;
private items: string[] = [];
constructor(name: string) { this.name = name; }
getId(): number { return this.id; }
getName(): string { return this.name; }
setName(value: string): void { this.name = value; }
isEnabled(): boolean { return this.enabled; }
addItem(item: string): void { this.items.push(item); }
getItems(): readonly string[] { return this.items; }
static create(name: string): Service9 { return new Service9(name); }
}