Skip to content

Conversation

@cijiugechu
Copy link
Contributor

@cijiugechu cijiugechu commented Feb 3, 2026

Use BoundSet representation taken from nodejs-semver. Resolved todo.

@github-actions
Copy link

github-actions bot commented Feb 3, 2026

⏱️ Benchmark Results

Metric Base Head Difference
Mean 3.112s 3.104s -0.28% ✅
Median 3.112s 3.099s -0.43% ✅
Min 2.979s 3.003s
Max 3.249s 3.319s
Std Dev 0.063s 0.079s
📊 Raw benchmark data

Base times: 3.249s, 3.032s, 3.119s, 3.205s, 3.075s, 3.208s, 3.070s, 3.091s, 3.170s, 3.193s, 3.121s, 3.080s, 3.026s, 3.050s, 3.130s, 3.112s, 3.055s, 3.149s, 3.178s, 3.008s, 3.103s, 3.093s, 2.979s, 3.111s, 3.148s, 3.113s, 3.056s, 3.136s, 3.148s, 3.156s

Head times: 3.102s, 3.033s, 3.045s, 3.127s, 3.070s, 3.252s, 3.314s, 3.319s, 3.082s, 3.182s, 3.074s, 3.157s, 3.134s, 3.032s, 3.042s, 3.003s, 3.046s, 3.113s, 3.100s, 3.015s, 3.120s, 3.098s, 3.044s, 3.108s, 3.085s, 3.113s, 3.104s, 3.026s, 3.025s, 3.142s


Benchmark: gatsby install-full-cold

@arcanis
Copy link
Member

arcanis commented Feb 3, 2026

The changes seem a little drastic; are they necessary? I kinda liked the RPN "bytecode", although I'm not against changing it if there's a good reason.

@cijiugechu
Copy link
Contributor Author

cijiugechu commented Feb 4, 2026

The changes seem a little drastic; are they necessary? I kinda liked the RPN "bytecode", although I'm not against changing it if there's a good reason.

Thanks for the feedback. I did this refactor to reduce Vec clones and recursion depth, hoping for better performance. But the benchmarks don’t show a clear improvement 😅. So I think keeping the previous type layout is the better choice.

@cijiugechu
Copy link
Contributor Author

The changes seem a little drastic; are they necessary? I kinda liked the RPN "bytecode", although I'm not against changing it if there's a good reason.

I’ll look for a way to finish the unbounded range TODO while keeping the previous type layout.

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.

2 participants