common/include: Add map type selection to interval_map#62200
Merged
common/include: Add map type selection to interval_map#62200
Conversation
9408f4f to
39f0d58
Compare
batrick
previously requested changes
Mar 11, 2025
Member
batrick
left a comment
There was a problem hiding this comment.
Please explain in the commit message why you're creating a template for this. i.e. what do you want to use this for?
39f0d58 to
47e153d
Compare
Add capability to choose the type of map used in interval_map. The default will be std::map and so should not change any existing implementation. This behaviour is already available in interval_set. The intention is to enable a more efficient map library which suits a particular application. The optimized EC code, which is coming soon, will use a boost::flat_map here since it deals with large numbers of very small (usually single-entry) interval_maps. Also adds fmt::format support and refactors print functions in both set and map. Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
47e153d to
96be3f1
Compare
Contributor
Author
Updated to explain how this will be used in EC optimizations. |
batrick
approved these changes
Mar 12, 2025
Contributor
Author
|
jenkins test make check |
Contributor
Author
|
jenkins test make check arm64 |
1 similar comment
Member
|
jenkins test make check arm64 |
Member
|
This PR is under test in https://tracker.ceph.com/issues/70426. |
Member
|
jenkins test make check arm64 |
Contributor
Author
|
jenkins test make check |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Interval_sets have the ability to choose the underlying data structure for the set, through a template selection. This changes allows similar behaviour in interval_map. This not only gives potential performance enhancements for some applications by using flat maps, but also allows better interop between interval_set and inverval_map.
There are also a couple of tweaks to interval_set in here around the previous introduction of strict mode.
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an
xbetween the brackets:[x]. Spaces and capitalization matter when checking off items this way.Checklist
Show available Jenkins commands
jenkins test classic perfJenkins Job | Jenkins Job Definitionjenkins test crimson perfJenkins Job | Jenkins Job Definitionjenkins test signedJenkins Job | Jenkins Job Definitionjenkins test make checkJenkins Job | Jenkins Job Definitionjenkins test make check arm64Jenkins Job | Jenkins Job Definitionjenkins test submodulesJenkins Job | Jenkins Job Definitionjenkins test dashboardJenkins Job | Jenkins Job Definitionjenkins test dashboard cephadmJenkins Job | Jenkins Job Definitionjenkins test apiJenkins Job | Jenkins Job Definitionjenkins test docsReadTheDocs | Github Workflow Definitionjenkins test ceph-volume allJenkins Jobs | Jenkins Jobs Definitionjenkins test windowsJenkins Job | Jenkins Job Definitionjenkins test rook e2eJenkins Job | Jenkins Job Definition