Skip to content

Conversation

justin-tay
Copy link
Contributor

This adds benchmarks for regression testing by adding benchmarks using jmh. This is in preparation for starting to add the breaking changes to prepare for 2.0.0 since Jackson 3.0 is likely to be released soon, so that those changes don't result in performance regressions.

This automates the running of the benchmark by adding a benchmark.yml workflow that runs the benchmark for all push to master that uses github-action-benchmark to publish updates to a GitHub Pages to the gh-pages branch under /dev/bench.

This also updates the tests to remove the use of the undertow server. Instead a SchemaLoader is used to load the files directly.

@codecov-commenter
Copy link

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.12%. Comparing base (48ca3c2) to head (c9cdfa9).
⚠️ Report is 101 commits behind head on master.
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #1195      +/-   ##
============================================
- Coverage     78.90%   78.12%   -0.78%     
- Complexity     1965     2086     +121     
============================================
  Files           172      201      +29     
  Lines          6352     6935     +583     
  Branches       1255     1268      +13     
============================================
+ Hits           5012     5418     +406     
- Misses          867     1046     +179     
+ Partials        473      471       -2     

☔ 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@stevehu stevehu merged commit db71780 into networknt:master Sep 20, 2025
4 checks passed
@justin-tay
Copy link
Contributor Author

@stevehu is it possible for you to enable GitHub Pages in Settings > Pages? That way the pages-build-deployment action will run to deploy the gh-pages branch and the benchmark chart will then be easily seen from https://networknt.github.io/json-schema-validator/dev/bench. Thanks!

@stevehu
Copy link
Contributor

stevehu commented Sep 23, 2025

@justin-tay I have made the change, but I am not certain if it is complete or not. I can see the page shows up when you click the link. Is this all we need? Thanks.

@justin-tay
Copy link
Contributor Author

@stevehu Yes that's all that's needed. Thanks!

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.

3 participants