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
Save index in disk. #53
Comments
Yeah, saving the index somewhere is definitely necessary, and using json dumps feels like the path of least resistance. Are you suggesting a separate json file for each file’s symbol index? Or just a single index file? Or some combination (like one index per top-level directory)? I’m not clear on the architecture. Also, is there a localstorage-like alternative to directly writing files provided by Atom that we could use? I was thinking it would be nice to persist the indexes for each project beyond it being open in Atom, but that gets hard with the fact that files can easily change while not open in Atom, invalidating the index, which would then mean having to save and compare checksums for the files to invalidate cached indexes or similar. So if we aren’t going to try to persist those indexes, I suppose the simplest/fastest storage mechanism would be best. Another thought: if there are separate files containing the json dump for each file, that will facilitate an asynchronous process for indexing a project’s symbols, which is great, but it will mean having to write to and read from a lot of files, even after the index has been built. |
I never have experience of indexdb on atom , what do you think about it?
|
We can use it , thats what i got from electron issue , which refrenced to nwjs use of IndexedDB , by zbenz |
Currently , it keeps indexes in Memory, that cause out of memory , swapping even a regular sized project . if we could keep indexes in disk it will be a lot more reliable.
My proposal is :
Thoughts?
UPDATE:
Atom have Localstore support and we can use IndexedDB , even better : Pouchdb.com , that way , we can query quickly without worrying about index files manually.
The text was updated successfully, but these errors were encountered: