Skip to content

Conversation

@JamesWrigley
Copy link
Contributor

@JamesWrigley JamesWrigley commented Dec 17, 2025

  • '>' and '>=' are already defined by Base in terms of '<' and '<='
  • Base already defines a convert(::T, ::Number) method using type constructors. Replacing our convert method with the relevant constructors doesn't completely fix all the invalidations convert caused, but it does help.
  • any(), all(), similar(), and Broadcast.broadcasted() all have default implementations in Base that do the same thing.

On Julia 1.12 this reduces the total number of invalidations from 7570 to 2005. For CUDA.jl (which depends on SentinelArrays through DataFrames) this reduces the number of invalidations from 17089 to 11175. Discovered when looking into JuliaGPU/CUDA.jl#2982.

- '>' and '>=' are already defined by Base in terms of '<' and '<='
- Base already defines a `convert(::T, ::Number)` method using type
  constructors. Replacing our `convert` method with the relevant constructors
  doesn't completely fix all the invalidations `convert` caused, but it does
  help.
- `any()`, `all()`, and `Broadcast.broadcasted()` all have default
  implementations in Base that do the same thing.
@codecov
Copy link

codecov bot commented Dec 17, 2025

Codecov Report

❌ Patch coverage is 75.00000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 95.54%. Comparing base (fa840f9) to head (8aa783c).
⚠️ Report is 15 commits behind head on main.

Files with missing lines Patch % Lines
src/chainedvector.jl 75.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #119      +/-   ##
==========================================
+ Coverage   94.82%   95.54%   +0.72%     
==========================================
  Files           5        5              
  Lines        1043     1055      +12     
==========================================
+ Hits          989     1008      +19     
+ Misses         54       47       -7     

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

Copy link
Member

@quinnj quinnj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@quinnj quinnj merged commit 9321cb4 into JuliaData:main Dec 20, 2025
5 of 6 checks passed
@JamesWrigley JamesWrigley deleted the invalidations branch December 20, 2025 08:50
@JamesWrigley
Copy link
Contributor Author

Thanks for the review ❤️ Is there any chance we could tag a new release?

@quinnj
Copy link
Member

quinnj commented Dec 20, 2025

Tagged a new release

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