Skip to content

Initialize RegExSpec once per StringPattern instance#2309

Merged
joelrosario merged 1 commit intomainfrom
fix-string-pattern-performance
Mar 2, 2026
Merged

Initialize RegExSpec once per StringPattern instance#2309
joelrosario merged 1 commit intomainfrom
fix-string-pattern-performance

Conversation

@StarKhan6368
Copy link
Copy Markdown
Contributor

What: Improve StringPattern performance by initializing RegExSpec only once per StringPattern instance instead of recreating it on each access

Why: Recreating RegExSpec repeatedly adds avoidable overhead of regex validation

Checklist:

  • Unit Tests
  • Build passing locally
  • Sonar Quality Gate (N/A)
  • Security scans don't report any vulnerabilities (N/A)
  • Documentation added/updated (share link) (N/A)
  • Sample Project added/updated (share link) (N/A)
  • Demo video (share link) (N/A)
  • Article on Website (share link) (N/A)
  • Roadmpap updated (share link) (N/A)
  • Conference Talk (share link) (N/A)

- Add tests to ensure this does not regress
@StarKhan6368 StarKhan6368 requested a review from joelrosario March 1, 2026 22:39
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 1, 2026

Summary

Line coverage Branch coverage

Assembly Line coverage Branch coverage
application 58.8% 52.6%
application/backwardCompatibility 77.2% 62.1%
application/mcp 84.3% 89.2%
application/validate 1.3% 0%
io/specmatic/conversions 93.1% 80.4%
io/specmatic/conversions/lenient 93.9% 79.4%
io/specmatic/core 80.1% 62.5%
io/specmatic/core/azure 0% 0%
io/specmatic/core/config 59.2% 35.8%
io/specmatic/core/config/v1 98% 25%
io/specmatic/core/config/v2 91.9% 77.5%
io/specmatic/core/config/v3 58.1% 32.2%
io/specmatic/core/config/v3/components 71.4% 40%
io/specmatic/core/config/v3/components/runOptions 73% 44.7%
io/specmatic/core/config/v3/components/services 85.5% 59.9%
io/specmatic/core/config/v3/components/settings 98.3% 63.8%
io/specmatic/core/config/v3/components/sources 82.8% 60.6%
io/specmatic/core/config/v3/specmatic 65.3% 25%
io/specmatic/core/discriminator 53.2% 43.1%
io/specmatic/core/examples/module 43.3% 24.5%
io/specmatic/core/examples/server 70.4% 35.7%
io/specmatic/core/filters 83.6% 70.1%
io/specmatic/core/fuzzy 95.8% 92.7%
io/specmatic/core/git 8.1% 12.8%
io/specmatic/core/jsonoperator 58.4% 68.6%
io/specmatic/core/jsonoperator/value 85.7% 75.9%
io/specmatic/core/lifecycle 0% ****
io/specmatic/core/log 74.5% 62%
io/specmatic/core/matchers 76.7% 62.6%
io/specmatic/core/overlay 85.7% 58.3%
io/specmatic/core/pattern 87.1% 76.3%
io/specmatic/core/pattern/config 100% ****
io/specmatic/core/pattern/regex 94% 86.5%
io/specmatic/core/report 97.7% 92.8%
io/specmatic/core/route/modules 95.8% 90%
io/specmatic/core/utilities 64.8% 56.5%
io/specmatic/core/value 81.4% 71.5%
io/specmatic/core/wsdl/parser 80.9% 41.4%
io/specmatic/core/wsdl/parser/message 88.6% 67.8%
io/specmatic/core/wsdl/parser/operation 100% 100%
io/specmatic/core/wsdl/payload 71.7% 33.3%
io/specmatic/junit5/support 0% ****
io/specmatic/loader 80.4% 50.8%
io/specmatic/mcp/constants 0% ****
io/specmatic/mcp/report 0% 0%
io/specmatic/mcp/test 0% 0%
io/specmatic/mcp/test/client 0% 0%
io/specmatic/mcp/test/client/model 0% 0%
io/specmatic/mock 61.1% 57.3%
io/specmatic/proxy 66.5% 50%
io/specmatic/specmatic/core 100% ****
io/specmatic/specmatic/executable 100% ****
io/specmatic/specmatic/mcp 0% ****
io/specmatic/stub 78.7% 68.9%
io/specmatic/stub/listener 96.8% 100%
io/specmatic/stub/report 98.1% 75%
io/specmatic/test 73.1% 62.8%
io/specmatic/test/asserts 92.1% 86.6%
io/specmatic/test/fixtures **** ****
io/specmatic/test/handlers 90.3% 63.5%
io/specmatic/test/listeners 86.9% 53.9%
io/specmatic/test/matchers **** ****
io/specmatic/test/reports 69% 36.4%
io/specmatic/test/reports/coverage 96.9% 53.9%
io/specmatic/test/reports/coverage/console 85.8% 81%
io/specmatic/test/reports/coverage/html 0% 0%
io/specmatic/test/reports/renderers 12.4% 14%
io/specmatic/test/utils 92.1% 82%

@joelrosario joelrosario merged commit 9a2cd2f into main Mar 2, 2026
3 checks passed
@joelrosario joelrosario deleted the fix-string-pattern-performance branch March 2, 2026 07:36
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