Skip to content

Commit 431242e

Browse files
committed
feat: enhance source adapter benchmarks with additional transform scenarios
1 parent ff71371 commit 431242e

2 files changed

Lines changed: 95 additions & 1 deletion

File tree

.github/workflows/ci.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
run: pnpm typecheck
4141

4242
- name: run benchmarks
43-
run: pnpm bench:types
43+
run: pnpm bench:types -- --benchErrorOnThresholdExceeded --benchPercentThreshold 10
4444

4545
- name: test
4646
run: pnpm test --coverage

packages/adapters/.ts-benchmarks/builders/source-builder.ts-bench.ts

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,97 @@ bench("source adapter builder", () => {
1818
},
1919
});
2020
}).types([19921, "instantiations"]);
21+
22+
bench("source adapter with transforms", () => {
23+
createSourceAdapter({
24+
type: "metadata",
25+
transformerOutputSchema: type({
26+
hello: "string",
27+
world: "string",
28+
}),
29+
fallback: {
30+
hello: "hello",
31+
world: "world",
32+
},
33+
persistence: {
34+
schemas: {},
35+
},
36+
}).withTransform(
37+
() => true,
38+
(builder) => {
39+
return builder
40+
.urls(() => "v14")
41+
.parser("generic")
42+
.transform((_, data) => data)
43+
.output((_, data) => {
44+
return {
45+
hello: data.lines.join(","),
46+
world: `${data.totalLines}`,
47+
};
48+
});
49+
},
50+
).build();
51+
}).types([21691, "instantiations"]);
52+
53+
bench("source adapter with multiple transforms", () => {
54+
createSourceAdapter({
55+
type: "metadata",
56+
transformerOutputSchema: type({
57+
hello: "string",
58+
world: "string",
59+
}),
60+
fallback: {
61+
hello: "hello",
62+
world: "world",
63+
},
64+
persistence: {
65+
schemas: {},
66+
},
67+
})
68+
.withTransform(
69+
() => true,
70+
(builder) => {
71+
return builder
72+
.urls(() => "v14")
73+
.parser("generic")
74+
.transform((_, data) => data)
75+
.output((_, data) => {
76+
return {
77+
hello: data.lines.join(","),
78+
world: `${data.totalLines}`,
79+
};
80+
});
81+
},
82+
)
83+
.withTransform(
84+
() => true,
85+
(builder) => {
86+
return builder
87+
.urls(() => "v14")
88+
.parser("generic")
89+
.transform((_, data) => data)
90+
.output((_, data) => {
91+
return {
92+
hello: data.lines.join(","),
93+
world: `${data.totalLines}`,
94+
};
95+
});
96+
},
97+
)
98+
.withTransform(
99+
() => true,
100+
(builder) => {
101+
return builder
102+
.urls(() => "v14")
103+
.parser("generic")
104+
.transform((_, data) => data)
105+
.output((_, data) => {
106+
return {
107+
hello: data.lines.join(","),
108+
world: `${data.totalLines}`,
109+
};
110+
});
111+
},
112+
)
113+
.build();
114+
}).types([25705, "instantiations"]);

0 commit comments

Comments
 (0)