Avatar for the Jij-Inc user
Jij-Inc
ommx
BlogDocsChangelog

Performance History

Latest Results

Start developing 2.4.1 (#741) Automated changes by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action Co-authored-by: termoshtt <1238153+termoshtt@users.noreply.github.com> Co-authored-by: Toshiki Teramura <toshiki.teramura@gmail.com>
main
9 hours ago
feat: Allow removed constraints to contain fixed/dependent variables (#738) ## Specification Changes These changes are potentially breaking, but they are very minor cases. We only bump up the minor versions of both Rust and Python SDK to 2.4.0. ### 1. Removed Constraints may contain Fixed/Dependent Variables - **Before**: Removed constraints must not contain fixed/dependent variable IDs (implicit invariant) - **After**: Removed constraints may contain these variables; they are substituted when restored via `restore_constraint` ### 2. Constraint Hints reference Active Constraints only - **New Rule**: `ConstraintHints` can only reference **active** constraints, not removed constraints - **On `relax_constraint`**: Hints referencing the relaxed constraint are automatically invalidated - **On `add_constraint_hints`**: Adding hints that reference removed constraints returns an error - **On parse (backward compatibility)**: Hints referencing removed constraints are discarded with a warning ## Summary - Removed the implicit invariant that removed constraints should not contain fixed or dependent variable IDs - Modified `restore_constraint` to substitute fixed and dependent variables when restoring a constraint - Optimized `Instance::substitute_acyclic` performance by skipping removed_constraints and only processing affected constraints - Added early return optimization to `Function::substitute_acyclic` - Moved constraint hints invalidation to `relax_constraint` for immediate cleanup - Added validation and documentation for constraint hints ## Performance Optimizations ### `Instance::substitute_acyclic` - Skip `removed_constraints` entirely (defer to `restore_constraint`) - Only iterate through `affected_constraint_ids` instead of all constraints - Constraint hints for removed constraints are now invalidated in `relax_constraint` ### `Function::substitute_acyclic` - Early return if `acyclic.is_empty()` - Early return if function doesn't contain any substituted variables (`is_disjoint` check) ### `Instance::partial_evaluate` - Skip `removed_constraints` (defer to `restore_constraint`) ## Changes ### `rust/ommx/src/instance/pass.rs` - `relax_constraint`: Invalidate constraint hints immediately when constraint is removed - `restore_constraint`: Substitute dependent variables first, then fixed variables (order matters for cascading substitutions) ### `rust/ommx/src/instance/substitute.rs` - Only check active constraints for `affected_constraint_ids` - Only substitute affected active constraints ### `rust/ommx/src/instance/evaluate.rs` - Skip `removed_constraints` in `partial_evaluate` ### `rust/ommx/src/instance/constraint_hints.rs` - Add validation to error when hints reference removed constraints - Add documentation for `add_constraint_hints` ### `rust/ommx/src/constraint_hints.rs` - Add documentation explaining hints are for active constraints only - Filter out hints referencing removed constraints at parse time (with warning) ### `rust/ommx/src/function/substitute.rs` - Add early return optimizations ### `rust/ommx/src/instance.rs` - Updated Instance struct documentation ## Test plan - [x] `test_restore_constraint_with_fixed_variable` - [x] `test_restore_constraint_with_dependent_variable` - [x] `test_restore_constraint_with_fixed_variable_in_dependency` - [x] `test_relax_constraint_invalidates_hint` - [x] `test_parse_discards_hints_referencing_removed_constraints` - [x] `test_add_constraint_hints_error_on_removed_constraint` - [x] All 371 Rust tests pass 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
main
11 hours ago
Bump pypa/cibuildwheel from 3.3 to 3.4 in the dependencies group (#737) Bumps the dependencies group with 1 update: [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel). Updates `pypa/cibuildwheel` from 3.3 to 3.4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pypa/cibuildwheel/releases">pypa/cibuildwheel's releases</a>.</em></p> <blockquote> <h2>v3.4.0</h2> <ul> <li>🌟 You can now build wheels using <code>uv</code> as a build frontend. This should improve performance, especially if your project has lots of build dependencies. To use, set <a href="https://cibuildwheel.pypa.io/en/stable/options/#build-frontend"><code>build-frontend</code></a> to <code>uv</code>. (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2322">#2322</a>)</li> <li>⚠️ We no longer support running on Travis CI. It may continue working but we don't run tests there anymore so we can't be sure. (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2682">#2682</a>)</li> <li>✨ Improvements to building Rust wheels on Android (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2650">#2650</a>)</li> <li>🐛 Fix bug with the GitHub Action on Windows, where PATH was getting unnecessarily changed, causing issues with meson builds. (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2723">#2723</a>)</li> <li>✨ Add support for quiet setting on <code>build</code> and <code>uv</code> from the cibuildwheel <code>build-verbosity</code> setting. (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2737">#2737</a>)</li> <li>📚 Docs updates, including guidance on using Meson on Windows (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2718">#2718</a>)</li> </ul> <h2>v3.3.1</h2> <ul> <li>🛠 Update dependencies and container pins, including updating to CPython 3.14.2. (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2708">#2708</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md">pypa/cibuildwheel's changelog</a>.</em></p> <blockquote> <hr /> <h2>title: Changelog</h2> <h1>Changelog</h1> <h3>v3.4.0</h3> <p><em>5 March 2026</em></p> <ul> <li>🌟 You can now build wheels using <code>uv</code> as a build frontend. This should improve performance, especially if your project has lots of build dependencies. To use, set <a href="https://cibuildwheel.pypa.io/en/stable/options/#build-frontend"><code>build-frontend</code></a> to <code>uv</code>. (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2322">#2322</a>)</li> <li>⚠️ We no longer support running on Travis CI. It may continue working but we don't run tests there anymore so we can't be sure. (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2682">#2682</a>)</li> <li>✨ Improvements to building rust wheels on Android (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2650">#2650</a>)</li> <li>🐛 Fix bug with the GitHub Action on Windows, where PATH was getting unnecessarily changed, causing issues with meson builds. (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2723">#2723</a>)</li> <li>✨ Add support for quiet setting on <code>build</code> and <code>uv</code> from the cibuildwheel <code>build-verbosity</code> setting. (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2737">#2737</a>)</li> <li>📚 Docs updates, including guidance on using Meson on Windows (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2718">#2718</a>)</li> </ul> <h3>v3.3.1</h3> <p><em>5 January 2026</em></p> <ul> <li>🛠 Update dependencies and container pins, including updating to CPython 3.14.2. (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2708">#2708</a>)</li> </ul> <h3>v3.3.0</h3> <p><em>12 November 2025</em></p> <ul> <li>🐛 Fix an incompatibility with Docker v29 (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2660">#2660</a>)</li> <li>✨ Adds <code>test-runtime</code> option, to customise how tests on simulated/emulated environments are run (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2636">#2636</a>)</li> <li>✨ Adds support for new <code>manylinux_2_35</code> images on 32-bit ARM <code>armv7l</code>, offering better C++20 compatibility (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2656">#2656</a>)</li> <li>✨ <code>build[uv]</code> is now supported on Android (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2587">#2587</a>)</li> <li>✨ You can now install extras (such as <code>uv</code>) with a simple option on the GitHub Action (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2630">#2630</a>)</li> <li>✨ <code>{project}</code> and <code>{package}</code> placeholders are now supported in <code>repair-wheel-command</code> (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2589">#2589</a>)</li> <li>🛠 The versions set with <code>dependency-versions</code> no longer constrain packages specified by your <code>build-system.requires</code>. Previously, on platforms other than Linux, the constraints in this option would remain in the environment during the build. This has been tidied up make behaviour more consistent between platforms, and to prevent version conflicts. (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2583">#2583</a>)</li> <li>🛠 Improve the handling of <code>test-command</code> on Android, enabling more options to be passed (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2590">#2590</a>)</li> <li>📚 Docs improvements (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2618">#2618</a>)</li> </ul> <h3>v3.2.1</h3> <p><em>12 October 2025</em></p> <ul> <li>🛠 Update to CPython 3.14.0 final (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2614">#2614</a>)</li> <li>🐛 Fix the default MACOSX_DEPLOYMENT_TARGET on Python 3.14 (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2613">#2613</a>)</li> <li>📚 Docs improvements (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2617">#2617</a>)</li> </ul> <h3>v3.2.0</h3> <p><em>22 September 2025</em></p> <ul> <li>✨ Adds GraalPy v25 (Python 3.12) support (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2597">#2597</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/cibuildwheel/commit/ee02a1537ce3071a004a6b08c41e72f0fdc42d9a"><code>ee02a15</code></a> Bump version: v3.4.0</li> <li><a href="https://github.com/pypa/cibuildwheel/commit/f08ce70d7891b3a6b3d41f7909a69816eeea643b"><code>f08ce70</code></a> chore: match copyright to BSD-2-clause template (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2758">#2758</a>)</li> <li><a href="https://github.com/pypa/cibuildwheel/commit/95b4b79b96bae59effea03a5f297b0cb5aa31b6b"><code>95b4b79</code></a> Fix incorrect document regarding pyodide auditwheel (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2752">#2752</a>)</li> <li><a href="https://github.com/pypa/cibuildwheel/commit/f046d0a94dc550b5dccb93ae748704599fa1f9ae"><code>f046d0a</code></a> Bump to Pyodide v0.29.3 (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2743">#2743</a>)</li> <li><a href="https://github.com/pypa/cibuildwheel/commit/f5a31ee79d1dfd39a9a0a87d7cd412a29afb8fe1"><code>f5a31ee</code></a> chore(deps): bump the actions group across 1 directory with 4 updates (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2755">#2755</a>)</li> <li><a href="https://github.com/pypa/cibuildwheel/commit/35ec4565f5ca3474c283a0852fdf512d5817850f"><code>35ec456</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2756">#2756</a>)</li> <li><a href="https://github.com/pypa/cibuildwheel/commit/51fed90270069c1f2ae3c075bcd6b0dad1d739c2"><code>51fed90</code></a> [Bot] Update dependencies (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2734">#2734</a>)</li> <li><a href="https://github.com/pypa/cibuildwheel/commit/b70562f37a2c65580ef235073974d067233fa82a"><code>b70562f</code></a> Debug GraalPy/uv test failures on Windows (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2741">#2741</a>)</li> <li><a href="https://github.com/pypa/cibuildwheel/commit/0a85e29549d1fd12d1ee07727cb55c39e16173a5"><code>0a85e29</code></a> Work around CDN rate limiting on Python.org in bin/update_pythons.py (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2753">#2753</a>)</li> <li><a href="https://github.com/pypa/cibuildwheel/commit/2d33864bafd35e54234e57c036c38cd59288543c"><code>2d33864</code></a> Pin the actions/setup-python for the externally used action.yml (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2749">#2749</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pypa/cibuildwheel/compare/v3.3...v3.4">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pypa/cibuildwheel&package-manager=github_actions&previous-version=3.3&new-version=3.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
main
2 days ago

Active Branches

No pull requests foundAs pull requests are created, their performance will appear here.
© 2026 CodSpeed Technology
Home Terms Privacy Docs