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

Switch from IndexMap to hashbrown's RawTable #17

Open
garro95 opened this issue Jul 27, 2019 · 2 comments
Open

Switch from IndexMap to hashbrown's RawTable #17

garro95 opened this issue Jul 27, 2019 · 2 comments

Comments

@garro95
Copy link
Owner

garro95 commented Jul 27, 2019

No description provided.

@akprasad
Copy link

Thanks for the crate. Can you say a bit more about why you want to make this change and what might be difficult about it? If it's something a Rust newbie could do, I'm happy to look into it.

@garro95
Copy link
Owner Author

garro95 commented Nov 11, 2022

Hi. Thank you for your interest and sorry for the late response.
Said that IndexMap is a fantastic project and that it works very well, my idea is that relying on it adds an extra level of indirection and extra space usage.
Since PriorityQueue has already the vector pq inside, the property of IndexMap that the indices are contiguous is something extra and maybe using a RawTable could improve performance in this sense.

Before being able to do that, it's probably necessary a refactor to improve the internal Store API so that the other modules don't access directly the underlying datastractures with assumptions that may be broken.

After that, the changes to the store structure can be applied, and I expect to have some experiments and benchmarks to do to understand if the change is really an improvement for performance or there are other changes that can bring more benefits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants