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

Limitations of the benchmarking #120

Closed
chmike opened this issue Oct 5, 2023 · 2 comments
Closed

Limitations of the benchmarking #120

chmike opened this issue Oct 5, 2023 · 2 comments

Comments

@chmike
Copy link
Contributor

chmike commented Oct 5, 2023

This benchmark is a bit comparing apples and oranges as the different encodings don't have the same properties.

Some just serialize the values without any type information (e.g.MUS), some add a type tag to the serialized value (e.g. MessagePack), and others add struct/object type name and field names (e.g. gob, json).

Most serializing package require code generation and some don't (e.g. gob, json).

Some encodings are thus very robust against bugs or malicious data, and some support dynamic value type discovery.
This is fine as the best choice depends on the type of usage and their requirements. But this has an impact on the speed and the encoded data size of the respective encoder/decoders.

A first suggestion is to add a table in the README listing the properties of the different packages.

A second suggestion is to group benchmarks by properties so that we don't compare apples with oranges.

@alecthomas
Copy link
Owner

Seems reasonable. If you'd like to contribute this change I'd accept it.

@ymz-ncnk ymz-ncnk mentioned this issue Nov 21, 2023
@alecthomas
Copy link
Owner

No contributions, closing.

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

2 participants