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

Use more compact encoding for the string table #90

Merged

Conversation

michaelwoerister
Copy link
Member

@michaelwoerister michaelwoerister commented Nov 26, 2019

This PR makes the encoding for the string table more compact, as described in measureme::stringtable's module-level documentation. It also moves the code for reading string tables into the analyzeme crate.

This PR concludes my planned changes to the file format for the time being. We'll need some more changes to the API in order to facilitate recording query keys but those should not require updating perf.rlo.

It's probably best to review the first commit in isolation.

r? @wesleywiser

@wesleywiser wesleywiser self-assigned this Nov 27, 2019
// Tags for the binary encoding of strings
// See module-level documentation for more information on the encoding.
const TERMINATOR: u8 = 0xFF;
const UTF8_CONTINUATION_MASK: u8 = 0b1100_0000;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've never used a big endian system so this is probably a dumb question, but on big endian systems, won't these bits be backwards? (Ie, wouldn't this need to be 0b0000_0011?)

@michaelwoerister
Copy link
Member Author

Thanks for the review, @wesleywiser!

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

Successfully merging this pull request may close these issues.

2 participants