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 test custom memory mapping profiles. #247

Open
xivk opened this issue Mar 9, 2019 · 2 comments
Open

Performance test custom memory mapping profiles. #247

xivk opened this issue Mar 9, 2019 · 2 comments
Assignees

Comments

@xivk
Copy link
Contributor

xivk commented Mar 9, 2019

We should be able to document recommendations on how to handle memory mapping and what gives best performance.

It should be doable to partially load routerdbs without too much of a performance penalty but it needs testing:

  • Do we load all the indexes, attributes and meta-data or not?
  • Do we load the contracted graph or not?
  • Do we load the network itself or not?

What combination of these is best under what circumstances. We can then provide better defaults of this profile:

https://github.com/itinero/routing/blob/develop/src/Itinero/RouterDbProfile.cs#L30

@airbreather
Copy link
Contributor

FWIW, "real" memory-mapped files like I was talking about in itinero/reminiscence#11 would have just one caching "profile": the operating system decides which pages to swap out based on how much we're using them and demand from other applications, and it all happens transparently.

@xivk
Copy link
Contributor Author

xivk commented Mar 13, 2019

@airbreather Yes, that would be best.

But on top of that it's probably also useful to determine what data can be used with memory-mapping and what data should always be available in memory.

Would you be interested in talking about all this more directly? I'm working on so many things and it's hard to keep up with everything. Perhaps using gitter/slack or something else?

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