Skip to content

Optimize AstSignature input signatures#4379

Merged
andimarek merged 8 commits into
masterfrom
optimize-ast-signature-with-input
May 12, 2026
Merged

Optimize AstSignature input signatures#4379
andimarek merged 8 commits into
masterfrom
optimize-ast-signature-with-input

Conversation

@andimarek
Copy link
Copy Markdown
Member

Summary

  • Optimizes AstSignature.signatureWithInput by avoiding extra full-document passes and using executable-query sorting for the signature result.

Performance

Tested locally against a large real life schema.

Scenario Before After Improvement
Large operations 6.159 ms/op 0.718 ms/op 8.58x faster
Medium sized operations 2.951 ms/op 0.333 ms/op 8.86x faster

Validation

  • Existing signature behavior tests pass locally.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 11, 2026

Test Report

Test Results

Java Version Total Passed Failed Errors Skipped
Java 11 5791 (+16 🟢) 5735 (+16 🟢) 0 (±0) 0 (±0) 56 (±0)
Java 17 5791 (+16 🟢) 5734 (+16 🟢) 0 (±0) 0 (±0) 57 (±0)
Java 21 5791 (+16 🟢) 5734 (+16 🟢) 0 (±0) 0 (±0) 57 (±0)
Java 25 5791 (+16 🟢) 5734 (+16 🟢) 0 (±0) 0 (±0) 57 (±0)
jcstress 32 (±0) 32 (±0) 0 (±0) 0 (±0) 0 (±0)
Total 23196 (+64 🟢) 22969 (+64 🟢) 0 (±0) 0 (±0) 227 (±0)

Code Coverage (Java 25)

Metric Covered Missed Coverage vs Master
Lines 29410 3102 90.5% +0.1% 🟢
Branches 8611 1507 85.1% +0.1% 🟢
Methods 7872 1209 86.7% +0.1% 🟢

Changed Class Coverage (6 classes)

Class Line Branch Method
g.l.AstSignature ±0.0% +1.1% 🟢 ±0.0%
g.l.AstSignature
$3
removed removed removed
g.l.FragmentSpread +9.7% 🟢 ±0.0% +16.7% 🟢
g.l.FragmentSpread
$Builder
+6.5% 🟢 ±0.0% +9.1% 🟢
g.l.VariableDefinition +7.3% 🟢 ±0.0% +17.4% 🟢
g.l.VariableDefinition
$Builder
+5.4% 🟢 ±0.0% +7.7% 🟢

Full HTML report: build artifact jacoco-html-report

Updated: 2026-05-12 01:22:07 UTC

@andimarek andimarek merged commit 16153d0 into master May 12, 2026
11 checks passed
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