-
Notifications
You must be signed in to change notification settings - Fork 109
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 using store for serialization? #5
Comments
Hey, thanks for the suggestion! Once we've added some benchmarks we can try comparing the performance of different serialization libs. Though I suspect that currently, the main bottleneck is the actual proto-lens code that does the encoding/decoding and the intermediate data structures that it uses. There's a couple other features we'd probably need in order to try this out; I couldn't immediately tell from the docs if they're supported by store:
|
The
Having known-size extraction of sequences of bytes is covered by mgsloan/store#40 We do have isolate, but it's mostly just a way to skip forward those bytes and ensure the inner peek didn't go beyond. It's still the responsibility of the inner Peek to not advance beyond the isolated region (but that gets checked). |
I'm closing this ticket since we ended up using our own custom parser monad. Its implementation is fairly similar to that of In addition to the issues mentioned above, the main blocker was the lack of support for endian-specific numeric types (mgsloan/store#31). |
Awesome project! One of my first published haskell projects was an attempt at doing protobufs well: https://github.com/mgsloan/sproto
Anyway, if making this fast is a priority, then you might be interested in porting it to store, as it's almost certainly faster than attoparsec.
It's still new, mgsloan/store#36 probably ought to be implemented before it's a responsible choice for this lib.
The text was updated successfully, but these errors were encountered: