Skip to content

Conversation

nsajko
Copy link
Member

@nsajko nsajko commented Sep 8, 2025

The generic fallback definition is always both correct and performant, relying on <=, so it is only harmful to add a method to >=.

The generic fallback definition is always both correct and performant,
relying on `<=`, so it is only harmful to add a method to `>=`.
Copy link

codecov bot commented Sep 8, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.45%. Comparing base (705cad6) to head (2501a4a).
⚠️ Report is 4 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #235   +/-   ##
=======================================
  Coverage   89.45%   89.45%           
=======================================
  Files           7        7           
  Lines         673      673           
=======================================
  Hits          602      602           
  Misses         71       71           

☔ 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.

@nsajko
Copy link
Member Author

nsajko commented Sep 8, 2025

Test failures unrelated, see issue #234.

@timholy
Copy link
Member

timholy commented Sep 8, 2025

Thanks!

@timholy timholy merged commit b9af49c into JuliaArrays:master Sep 8, 2025
8 of 12 checks passed
@nsajko nsajko deleted the prevent_adding_methods_fix branch September 8, 2025 16:30
@nsajko
Copy link
Member Author

nsajko commented Sep 9, 2025

This PR greatly decreased the amount of sysimage invalidation on loading this package. The unique invalidation count upon using AxisArrays went from 524 to 35.

Instructions to reproduce this result:

  • Do @snoop_invalidations using AxisArrays before loading any other package except for SnoopCompileCore. Not even the REPL or Pkg may be loaded, because they load StyledStrings, which does some piracy, causing invalidation, thus affecting the result. So run a script, instead of running Julia interactively.

  • Use nightly Julia v1.13, commit JuliaLang/julia@5c93bf2.

  • Run the code twice: first to get everything precompiled, then restart the script to measure invalidation. This eliminates any invalidations that may be caused by type instabilities in Julia's precompilation code.

Data on each invalidation:

(Obviously most of this message is not meant for you, Tim Holy, specifically. Just being thorough.)

@nsajko nsajko mentioned this pull request Sep 9, 2025
timholy pushed a commit that referenced this pull request Sep 10, 2025
Release merged PR #235 to decrease sysimage invalidation when loading
the package.
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