Skip to content

perf: Replace SwiftNIO with FlyingFox in the dev server - #5

Merged
kevinrenskers merged 1 commit into
mainfrom
perf/flyingfox-dev-server
Aug 25, 2026
Merged

perf: Replace SwiftNIO with FlyingFox in the dev server#5
kevinrenskers merged 1 commit into
mainfrom
perf/flyingfox-dev-server

Conversation

@kevinrenskers

@kevinrenskers kevinrenskers commented Aug 25, 2026

Copy link
Copy Markdown
Member

SwiftNIO and its transitive dependencies made up ~190,000 of the ~204,000 lines of dependency source compiled to build this 1,121-line CLI, all to back a 250-line localhost static file server with a single SSE endpoint. SwiftNIO was responsible for a big chunk of the compile time.

FlyingFox has no transitive dependencies, so swift-collections, swift-atomics and swift-system drop out along with NIO and its six C shim targets.

Before After
Dependency source 204,709 lines 26,323 lines
Cold release build 40.1s (53 tasks) 16.8s (17 tasks)
Release binary 8.0MB 3.6MB

SwiftNIO and its transitive dependencies made up ~190,000 of the ~204,000 lines of dependency source compiled to build this 1,121-line CLI, all to back a 250-line localhost static file server with a single SSE endpoint.

FlyingFox has no transitive dependencies, so swift-collections, swift-atomics and swift-system drop out along with NIO and its six C shim targets.

- Dependency source: 204,709 -> 26,323 lines
- Cold release build: 40.1s -> 16.8s (53 build tasks -> 17)
- Release binary: 8.0MB -> 3.6MB
@kevinrenskers
kevinrenskers merged commit 5e7744d into main Aug 25, 2026
3 checks passed
@kevinrenskers
kevinrenskers deleted the perf/flyingfox-dev-server branch August 25, 2026 20:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant