Avatar for the kelsos user
kelsos
plainfp
BlogDocsChangelog

GitHub Actions run

4 days ago 003916b test/integration-suite pull_request

Compare

Base
Search a run

Head
test: add integration suite covering cross-module compositions
#12
test/integration-suite
4 days ago
CPU Simulation

Compare
Suggested base runs:
48 total
manual: i(h(g(f(x))))
packages/plainfp/src/pipe.bench.ts::pipe vs manual chaining
12.8 µs
manual: chained const
packages/plainfp/src/pipe.bench.ts::pipe vs manual chaining
12.8 µs
try/catch chain (5 deep, no throw)
packages/plainfp/src/result/transform.bench.ts::Result.map vs throw/catch
12 µs
native property access
packages/plainfp/src/records/access.bench.ts::Records.get vs native property access
11.9 µs
Records.mapValues (small)
packages/plainfp/src/records/transform.bench.ts::Records.mapValues vs handwritten reduce
28.4 µs
native [].filter
packages/plainfp/src/arrays/transform.bench.ts::Arrays.filter vs native
1.3 ms
flatMap 5 deep, early none
packages/plainfp/src/option/transform.bench.ts::Option.flatMap pipeline
17.6 µs
plainfp Arrays.filter
packages/plainfp/src/arrays/transform.bench.ts::Arrays.filter vs native
1.3 ms
keep roughly half
packages/plainfp/src/records/transform.bench.ts::Records.filter (medium)
577.8 µs
native [].flatMap
packages/plainfp/src/arrays/transform.bench.ts::Arrays.flatMap vs native
5.3 ms
map over none (short-circuit)
packages/plainfp/src/option/transform.bench.ts::Option.map — some vs none paths
13.4 µs
filter predicate passes
packages/plainfp/src/option/transform.bench.ts::Option.filter
14 µs
flatMap 5 deep, some path
packages/plainfp/src/option/transform.bench.ts::Option.flatMap pipeline
18.8 µs
map over ok
packages/plainfp/src/result-async/transform.bench.ts::ResultAsync.map — ok vs err paths
32.5 µs
native [].map (small)
packages/plainfp/src/arrays/transform.bench.ts::Arrays.map vs native
22.8 µs
pipe(x, f, g, h, i)
packages/plainfp/src/pipe.bench.ts::pipe vs manual chaining
24.6 µs
Records.mapValues (medium)
packages/plainfp/src/records/transform.bench.ts::Records.mapValues vs handwritten reduce
1.5 ms
map over some
packages/plainfp/src/option/transform.bench.ts::Option.map — some vs none paths
37.6 µs
rename prefix
packages/plainfp/src/records/transform.bench.ts::Records.mapKeys (medium)
2.1 ms
handwritten reduce (small)
packages/plainfp/src/records/transform.bench.ts::Records.mapValues vs handwritten reduce
15.1 µs
flatMap 5 deep, ok path
packages/plainfp/src/result-async/transform.bench.ts::ResultAsync.flatMap pipeline
34.1 µs
Promise.then chain (5 deep)
packages/plainfp/src/result-async/transform.bench.ts::ResultAsync.map vs bare Promise.then
21 µs
plainfp Arrays.flatMap
packages/plainfp/src/arrays/transform.bench.ts::Arrays.flatMap vs native
5.3 ms
native [].map (medium)
packages/plainfp/src/arrays/transform.bench.ts::Arrays.map vs native
1 ms
ResultAsync.map chain (5 deep, all ok)
packages/plainfp/src/result-async/transform.bench.ts::ResultAsync.map vs bare Promise.then
31.8 µs
© 2026 CodSpeed Technology
Home Terms Privacy Docs