Skip to content

Conversation

@Joannis
Copy link
Member

@Joannis Joannis commented Nov 3, 2025

Adds support to run on Windows platforms.

image

Depends on:

Notes

  • Temporarily disables FileSystem I/O on Windows only, we should consider moving to NIOFS or fix the code itself. To be decided

@Joannis Joannis requested a review from adam-fowler as a code owner November 3, 2025 18:23
@codecov
Copy link

codecov bot commented Nov 3, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.73%. Comparing base (6ed08fc) to head (1c935b5).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #747      +/-   ##
==========================================
- Coverage   84.29%   83.73%   -0.57%     
==========================================
  Files         117      117              
  Lines        7726     5993    -1733     
==========================================
- Hits         6513     5018    -1495     
+ Misses       1213      975     -238     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link

github-actions bot commented Nov 3, 2025

✅ Pull request no significant performance differences ✅

Summary

New baseline 'pull_request' is WITHIN the 'main' baseline thresholds.

Full Benchmark Comparison

Comparing results between 'main' and 'pull_request'

Host '6267c3918e52' with 4 'x86_64' processors with 15 GB memory, running:
#18~24.04.1-Ubuntu SMP Sat Jun 28 04:46:03 UTC 2025

Router

Router:Echo metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 769 769 769 769 769 769 769 1027
pull_request 769 769 769 769 769 769 769 1003
Δ 0 0 0 0 0 0 0 -24
Improvement % 0 0 0 0 0 0 0 -24

Router:GET metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 468 468 468 468 468 468 468 2907
pull_request 468 468 468 468 468 468 468 2917
Δ 0 0 0 0 0 0 0 10
Improvement % 0 0 0 0 0 0 0 10

Router:Middleware metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 373 373 373 373 373 373 373 2690
pull_request 373 373 373 373 373 373 373 2660
Δ 0 0 0 0 0 0 0 -30
Improvement % 0 0 0 0 0 0 0 -30

Router:PUT metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 1272 1272 1272 1272 1272 1272 1272 809
pull_request 1272 1272 1272 1272 1272 1272 1272 819
Δ 0 0 0 0 0 0 0 10
Improvement % 0 0 0 0 0 0 0 10

Router:Parameters metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 718 718 718 718 718 718 718 2400
pull_request 718 718 718 718 718 718 718 2229
Δ 0 0 0 0 0 0 0 -171
Improvement % 0 0 0 0 0 0 0 -171

RouterBuilder:Middleware metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 372 372 372 372 372 372 372 2688
pull_request 372 372 372 372 372 372 372 2741
Δ 0 0 0 0 0 0 0 53
Improvement % 0 0 0 0 0 0 0 53

TrieRouter:LongPaths metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 11 11 11 11 11 11 11 241
pull_request 11 11 11 11 11 11 11 240
Δ 0 0 0 0 0 0 0 -1
Improvement % 0 0 0 0 0 0 0 -1

TrieRouter:Parameters metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 19 19 19 19 19 19 19 182
pull_request 19 19 19 19 19 19 19 182
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

TrieRouter:Routing metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 13 13 13 13 13 13 13 236
pull_request 13 13 13 13 13 13 13 237
Δ 0 0 0 0 0 0 0 1
Improvement % 0 0 0 0 0 0 0 1

Copy link
Member

@adam-fowler adam-fowler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of this is just disabling file operations. I would move to NIOFileSystem but it is still prefixed with an _ indicating it is not final release and breaking changes maybe included. Although now Vapor have moved that seems unlikely.

Can you chase NIO guys about state of release and what their recommendation is. I want them to commit to an fixed API before moving.

@tib
Copy link
Contributor

tib commented Nov 5, 2025

I’m also curious about the current state of NIO FS. We’re considering using it in the long run.

@Joannis
Copy link
Member Author

Joannis commented Nov 5, 2025

I'll chase up in the SSWG tonight

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.

4 participants