Skip to content

Conversation

@thepabloaguilar
Copy link

This PRs adds Python version "3.14 t" to the test matrix, that version is the free GIL version, I've added it as experimental so if something does not work now or in the future from incoming changes it won't break the pipeline.

This is a good start to try making this compliant with free GIL version because:

  • We can see where we need to work on
  • Where breaking compatibility changes were added

But of course it doesn't mean if nothing is raised during test this lib is already compliant, it's just a first step towards compatibility.

  • Add tests for the change. In general, aim for full test coverage at the Python level. Rust tests are optional.
  • Add any appropriate documentation.
  • Add a summary of changes to the latest section at the top of CHANGELOG.rst. (If it's not there, add it.)
  • Add your name to AUTHORS.rst.
  • Run just full-check.

Ref #297

@thepabloaguilar
Copy link
Author

We're going need to work on the rust part:

<frozen importlib._bootstrap>:491: RuntimeWarning: The global interpreter lock (GIL) has been enabled to load module 'grimp._rustgrimp', which has not declared that it can run safely without the GIL. To override this behavior and keep the GIL disabled (at your own risk), run with PYTHON_GIL=0 or -Xgil=0.

@thepabloaguilar
Copy link
Author

Maybe we can set the PYTHON_GIL conditionally to 0 only for 3.14t and see what happens

@codspeed-hq
Copy link

codspeed-hq bot commented Jan 24, 2026

Merging this PR will degrade performance by 29.46%

❌ 6 regressed benchmarks
✅ 20 untouched benchmarks
⏩ 23 skipped benchmarks1

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
WallTime test_chains_found 84.3 µs 98 µs -13.93%
WallTime test_no_chains 627.9 µs 890.2 µs -29.46%
WallTime test_no_chain 625.2 µs 826.3 µs -24.34%
WallTime test_deep_layers_large_graph_kept 1.6 ms 2 ms -21.76%
WallTime test_find_upstream_modules 2.7 ms 3.1 ms -11.61%
WallTime test_find_downstream_modules 79.8 µs 92 µs -13.23%

Comparing thepabloaguilar:issue-297-enable-free-gil-tests (9a3f289) with main (977b7f0)

Open in CodSpeed

Footnotes

  1. 23 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@codspeed-hq
Copy link

codspeed-hq bot commented Jan 24, 2026

Unable to generate the flame graphs

The performance report has correctly been generated, but there was an internal error while generating the flame graphs for this run. We're working on fixing the issue. Feel free to contact us on Discord or at support@codspeed.io if the issue persists.

@thepabloaguilar
Copy link
Author

It seems even forcing free GIL the tests continue passing, that's may be a great indicator to start

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