Skip to content

test: Benchmark slowdown of element-wise list comparison#25

Merged
Marius Merkle (MariusMerkleQC) merged 6 commits into
mainfrom
benchmark
Mar 30, 2026
Merged

test: Benchmark slowdown of element-wise list comparison#25
Marius Merkle (MariusMerkleQC) merged 6 commits into
mainfrom
benchmark

Conversation

@MariusMerkleQC

@MariusMerkleQC Marius Merkle (MariusMerkleQC) commented Mar 27, 2026

Copy link
Copy Markdown
Collaborator

Motivation

See this comment.

Changes

Adds a benchmark test on (long) list columns (20 elements each). The column has an integer data type, so no tolerance-based comparison is necessary. We call _compare_sequence_columns as soon as there's a list/array anywhere in the data type tree, independent of the inner type, and this is ~5-6 times slower than using _eq_missing directly.

@codecov

codecov Bot commented Mar 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (cccfad4) to head (c6e108f).
⚠️ Report is 15 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #25   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           10        10           
  Lines          758       758           
=========================================
  Hits           758       758           

☔ View full report in Codecov by Harness.
📢 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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds a performance-focused test to quantify the slowdown of element-wise list comparison vs eq_missing() for list columns with non-tolerance inner types, supporting follow-up optimization work around _compare_sequence_columns.

Changes:

  • Import internal comparison utilities/constants needed to call condition_equal_columns() directly.
  • Add a new performance regression-style test comparing eq_missing() vs element-wise list comparison timing.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tests/test_performance.py
Comment thread tests/test_performance.py Outdated
Comment thread tests/test_performance.py
Comment thread tests/test_performance.py
Comment thread tests/test_performance.py Outdated
@MariusMerkleQC Marius Merkle (MariusMerkleQC) changed the title test: Benchmark slowdown of element-wise list comparison test: Benchmark slowdown of element-wise list/array/struct comparison Mar 28, 2026
@MariusMerkleQC Marius Merkle (MariusMerkleQC) changed the title test: Benchmark slowdown of element-wise list/array/struct comparison test: Benchmark slowdown of element-wise list comparison Mar 28, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks :)

Comment thread tests/test_performance.py Outdated
@MariusMerkleQC Marius Merkle (MariusMerkleQC) merged commit ff8439c into main Mar 30, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants