Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve performance of aggregate operations on empty dictionaries #7418

Merged
merged 1 commit into from Mar 14, 2024

Conversation

tgoyne
Copy link
Member

@tgoyne tgoyne commented Mar 5, 2024

This fixes the one remaining v14 perf regression reported by the object store benchmarks. It ended up being a sort of fake optimization - it makes sum() on empty dictionaries more than twice as fast, but once there's a single object it's only 10% faster and is meaningless for any larger - but IMO it's a net improvement to the code.

@tgoyne tgoyne self-assigned this Mar 5, 2024
@cla-bot cla-bot bot added the cla: yes label Mar 5, 2024
@tgoyne tgoyne force-pushed the tg/dict-aggregate branch 3 times, most recently from f0362d4 to ebdccdd Compare March 9, 2024 00:25
Copy link

coveralls-official bot commented Mar 9, 2024

Pull Request Test Coverage Report for Build thomas.goyne_234

Details

  • 21 of 21 (100.0%) changed or added relevant lines in 5 files are covered.
  • 751 unchanged lines in 40 files lost coverage.
  • Overall coverage decreased (-0.3%) to 91.789%

Files with Coverage Reduction New Missed Lines %
src/realm/index_string.hpp 1 93.68%
src/realm/object-store/impl/list_notifier.cpp 1 99.0%
src/realm/table_ref.hpp 1 55.81%
test/object-store/audit.cpp 1 99.93%
test/object-store/object.cpp 1 98.85%
test/test_index_string.cpp 1 94.63%
src/realm/array_string.cpp 2 85.25%
src/realm/cluster.cpp 2 77.52%
src/realm/object-store/sync/sync_session.cpp 2 93.65%
src/realm/sync/network/http.hpp 2 82.41%
Totals Coverage Status
Change from base Build 2130: -0.3%
Covered Lines: 242750
Relevant Lines: 264464

💛 - Coveralls

Copy link
Contributor

@ironage ironage left a comment

Choose a reason for hiding this comment

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

LGTM

@tgoyne tgoyne merged commit 95c6efc into master Mar 14, 2024
32 of 38 checks passed
@tgoyne tgoyne deleted the tg/dict-aggregate branch March 14, 2024 16:10
nirinchev added a commit that referenced this pull request Mar 22, 2024
* master:
  update release note
  prepare v14.4.0
  sets not allowed at storage level inside mixed (#7502)
  🔄 Synced file(s) with realm/ci-actions (#7481)
  RCORE-1982 Opening realm with cached user while offline results in fatal error and session does not retry connection (#7469)
  RCORE-2008 Bump baas version (#7499)
  RCORE-2027: Setting log callback should not override existing log level hierarchy (#7494)
  Derive correct ubuntu version on linuxmint (#7471)
  Include nested path in 'OutOfBounds' error message (#7489)
  fix depth for nested collections set to 4 in debug mode (#7486)
  Set the minimum buffer size in Group::write() to be equal to the page size (#7492)
  Update the parent's content version when bumping it in a nested collection (#7470)
  release notes
  core v14.3.0 (#7482)
  RCORE-2007 Added Resumption delay configuration to SyncClientTimeouts (#7441)
  Improve performance of aggregate operations on empty dictionaries (#7418)
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 13, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants