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

Performance improvement: IReadOnlyList<string> TranslationNames -> IReadOnlySet<string> TranslationNames #27

Open
adambajguz opened this issue Sep 30, 2022 · 2 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@adambajguz
Copy link

Feature description

TranslationNames property is currently impleemented as a read only list of strings. I think it would be better to change it to a read only set (IReadOnlySet<string>) because it allows for a faster checks like Contains, which in my opinion are more important in this context than index-based access to translations.

@adambajguz adambajguz added the enhancement New feature or request label Sep 30, 2022
@bartoszlenar
Copy link
Owner

Thank you, @adambajguz , for your input. You might be right and although this isn't part of the project that will be under constant pressure, I appreciate that this change is 100% about performance.

I've verified that it could be done relatively straightforward, but I'd need more time to think about possible complications. One of them, naturally, is a version bump to 3.0.0 and that's why this issue will probably wait while along with other breaking changes (to reduce chaos).

@bartoszlenar
Copy link
Owner

Hi @adambajguz

Since IReadOnlySet isn't a part of .NET Standard 2.0 Validot is now basing on, I'm scheduling this in 2023, as a part of the big update that will change the base to the newest .NET versions.

@bartoszlenar bartoszlenar added this to the v4.0 milestone Dec 14, 2022
@bartoszlenar bartoszlenar modified the milestones: v4.0, v3.0 Jun 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants