Skip to content

Conversation

@stvoutsin
Copy link
Contributor

This PR changes the votable test to use proper 2D arrays for BitArray benchmark.

It replaces scalar boolean columns with actual multi-dimensional flag arrays to accurately benchmark BitArray parsing performance. The previous implementation was forcing scalar bools into BitArrays

This could be related to the issues where the benchmarks on astropy PRs are timing out.
However I'm not sure why that would be the case, as if run locally (the version before these changes) it completes within a few seconds for each test, whereas the timeouts in the workflow runs happen after 60 seconds.

In any case I've run this version locally and see these run times:

[ 0.01%] ··· votable.TimeVOTableBitArrayOptimization.time_bitarray_16bit_binary                                                                                                                            2.56±0s
[ 0.01%] ··· votable.TimeVOTableBitArrayOptimization.time_bitarray_16bit_binary2                                                                                                                           3.25±0s
[ 0.01%] ··· votable.TimeVOTableBitArrayOptimization.time_bitarray_8bit_binary                                                                                                                             2.42±0s
[ 0.01%] ··· votable.TimeVOTableBitArrayOptimization.time_bitarray_8bit_binary2                                                                                                                            3.19±0s

If we think that it is a timeout due to the row size I could reduce it down by some fraction, but perhaps better not to include it in this PR?

@pllim
Copy link
Member

pllim commented Oct 23, 2025

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