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

Writeup on Design Decisions #3

Open
andrewthad opened this issue Aug 5, 2019 · 0 comments
Open

Writeup on Design Decisions #3

andrewthad opened this issue Aug 5, 2019 · 0 comments

Comments

@andrewthad
Copy link
Member

Sadly, most libraries for building arrays of bytes (this one included) do not document design decisions. This is unfortunate because these internal details, although they may not be visible in the surface API, are extremely important for using the library in a way that provides predictable performance. For example, stashing a builder (from any byte-array-building library) in a data structure is often a bad idea. Understanding how to efficiently serialize an array of objects is important (and foldMap is often the wrong choice). I'd like to do a write up as part of the documentation that goes into these low-level details of builders and then concludes by explaining the choices made in the library. Because otherwise most users have meaningful way to compare this solution to something like Data.ByteString.Builder. It would also be prudent to include benchmarks.

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

No branches or pull requests

1 participant