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

use map look-up for indexes #7242

Merged
merged 1 commit into from
Nov 14, 2024
Merged

use map look-up for indexes #7242

merged 1 commit into from
Nov 14, 2024

Conversation

abbyssoul
Copy link
Contributor

  • [ X] Do only one thing
  • [ X] Non breaking API changes
  • [ X] Tested

What did this pull request do?

Changing the implementation of schema.LookIndex to use map's two-value assignment tests for the existence of a key when looking for an index before switching to field lookup for performance.

User Case Description

The existing implementation of Schema.LookIndex uses linear search (in the best case) instead of using map test using const-time before falling back to a linear scan.
The new implementation has a performance advantage for cases with many indexes.

Copy link
Contributor

@daheige daheige left a comment

Choose a reason for hiding this comment

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

LGTM!

@jinzhu jinzhu merged commit 49bbaa6 into go-gorm:master Nov 14, 2024
32 checks passed
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.

4 participants