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

Consider getting rid of string index data file #96

Open
michaelwoerister opened this issue Dec 9, 2019 · 2 comments
Open

Consider getting rid of string index data file #96

michaelwoerister opened this issue Dec 9, 2019 · 2 comments
Labels
enhancement New feature or request

Comments

@michaelwoerister
Copy link
Member

The new file encoding for the string table introduced in #90 still has some unused bit-prefixes in its grammar that would allow it to efficiently (i.e. without additional space overhead) encode the string index data table as part of the regular string table data. The index entries would just be interspersed with the string components and the grammar would make sure that we can parse them out properly again.

The only reason I'm a bit hesitant to implement this is that it would require tools to always parse the entire string table once on startup in order to find all the index entries. It's just a single pass and the parsing is not more complicated than parsing a huge UTF-8 string, but it would add a bit of overhead to every tool invocation.

On the positive side it would allow us to get rid of one of the three files we generate when recording a profile.

@michaelwoerister michaelwoerister added the enhancement New feature or request label Dec 9, 2019
@Mark-Simulacrum
Copy link
Member

I am in favor of reducing the number of files. I suspect the cost of parsing the huge UTF-8 string is pretty low? IIRC, UTF-8 decoding is on-par with disk read speed (or faster) these days.

@michaelwoerister
Copy link
Member Author

I suspect that the slowdown wouldn't be noticeable but I we don't have benchmarks for the tools, I think.

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