Skip to content

Conversation

@ptoffy
Copy link
Member

@ptoffy ptoffy commented Sep 26, 2025

No description provided.

@ptoffy ptoffy requested review from 0xTim and gwynne as code owners September 26, 2025 14:18
@codecov
Copy link

codecov bot commented Sep 26, 2025

Codecov Report

❌ Patch coverage is 95.08197% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.43%. Comparing base (e2cc937) to head (b1ec22e).
⚠️ Report is 1 commits behind head on partial-matches.

Files with missing lines Patch % Lines
Sources/RoutingKit/TrieRouter/TrieRouter.swift 93.61% 3 Missing ⚠️
Additional details and impacted files
@@                 Coverage Diff                 @@
##           partial-matches     #143      +/-   ##
===================================================
+ Coverage            89.36%   89.43%   +0.07%     
===================================================
  Files                    5        5              
  Lines                  235      265      +30     
===================================================
+ Hits                   210      237      +27     
- Misses                  25       28       +3     
Files with missing lines Coverage Δ
Sources/RoutingKit/PathComponent.swift 100.00% <100.00%> (ø)
...rces/RoutingKit/TrieRouter/TrieRouterBuilder.swift 83.58% <100.00%> (-0.48%) ⬇️
Sources/RoutingKit/TrieRouter/TrieRouterNode.swift 77.77% <ø> (ø)
Sources/RoutingKit/TrieRouter/TrieRouter.swift 96.51% <93.61%> (-3.49%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@penny-for-vapor
Copy link

penny-for-vapor bot commented Oct 17, 2025

Benchmark Report for b1ec22e

✅ Pull request has no significant performance differences ✅

Click to expand comparison result

Benchmark check running at 2025-10-17 14:50:01 UTC

Reading thresholds from "Benchmarks/Thresholds/"

Checking ["RouterPerformance:Case-sensitive", "RouterPerformance:Case-insensitive", "RouterPerformance:Case-insensitive_Match_First", "RouterPerformance:Case-insensitive_Match_Last", "RouterPerformance:Case-sensitive_Minimal", "RouterPerformance:Case-insensitive_Minimal", "RouterPerformance:Minimal_Early_Fail"]

The baseline 'Partial Matching 2' is EQUAL to the defined thresholds.

Click to expand benchmark result

Baseline 'Partial Matching 2'

Host '44745573e1e1' with 2 'aarch64' processors with 3 GB memory, running:
#14~24.04.1-Ubuntu SMP Tue Sep 23 14:18:51 UTC 2025

RouterPerformance

Case-insensitive

Metric p0 p25 p50 p75 p90 p99 p100 Samples
Malloc (total) * 22 22 22 22 22 22 22 9171
Memory (resident peak) (M) 23 24 24 24 24 24 24 9171
Throughput (# / s) (K) 243 202 195 188 181 163 47 9171

Case-insensitive_Match_First

Metric p0 p25 p50 p75 p90 p99 p100 Samples
Malloc (total) * 22 22 22 22 22 22 22 9168
Memory (resident peak) (M) 23 24 24 24 24 24 24 9168
Throughput (# / s) (K) 255 206 201 195 188 167 52 9168

Case-insensitive_Match_Last

Metric p0 p25 p50 p75 p90 p99 p100 Samples
Malloc (total) * 22 22 22 22 22 22 22 8713
Memory (resident peak) (M) 23 24 24 24 24 24 24 8713
Throughput (# / s) (K) 226 190 185 179 173 159 48 8713

Case-insensitive_Minimal

Metric p0 p25 p50 p75 p90 p99 p100 Samples
Malloc (total) * 18 18 18 18 18 18 18 10000
Memory (resident peak) (M) 23 23 23 23 23 23 23 10000
Throughput (# / s) (K) 570 519 511 502 493 444 105 10000

Case-sensitive

Metric p0 p25 p50 p75 p90 p99 p100 Samples
Malloc (total) * 22 22 22 22 22 22 22 9090
Memory (resident peak) (M) 23 24 24 24 24 24 24 9090
Throughput (# / s) (K) 238 208 200 191 183 164 48 9090

Case-sensitive_Minimal

Metric p0 p25 p50 p75 p90 p99 p100 Samples
Malloc (total) * 18 18 18 18 18 18 18 10000
Memory (resident peak) (M) 23 24 24 24 24 24 24 10000
Throughput (# / s) (K) 584 535 526 516 507 432 80 10000

Minimal_Early_Fail

Metric p0 p25 p50 p75 p90 p99 p100 Samples
Malloc (total) * 18 18 18 18 18 18 18 9885
Memory (resident peak) (M) 24 24 24 24 24 24 24 9885
Throughput (# / s) (K) 589 538 531 520 505 453 138 9885

@ptoffy ptoffy merged commit 3e4b624 into partial-matches Oct 27, 2025
14 of 16 checks passed
@ptoffy ptoffy deleted the partial-matches-2 branch October 27, 2025 10:25
ptoffy added a commit that referenced this pull request Oct 27, 2025
* Implement partial matching

* Attempt at making it fast

* Cleanup

* Undo

* Partial Matching 2 (#143)

* Different approach to partial matching

* Nits

* Avoid a copy

* Minor improvements

* Nit

* Update Sources/RoutingKit/PathComponent.swift

Co-authored-by: Gwynne Raskind <[email protected]>

* Update Sources/RoutingKit/TrieRouter/TrieRouterNode.swift

Co-authored-by: Gwynne Raskind <[email protected]>

* Nits

* Nit

---------

Co-authored-by: Gwynne Raskind <[email protected]>
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