not-fl3 / nanoserde

Serialisation library with zero dependencies

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Document the benefits / tradeoffs made by this library

dralley opened this issue · comments

The README doesn't exmplain why I would want to use this library instead of serde, miniserde ormicroserde

I do not have much to add over this part of the README, that's pretty much it:

No more syn, proc_macro2 or quote in the build tree!

> cargo tree
nanoserde v0.1.0 (/../nanoserde)
└── nanoserde-derive v0.1.0 (/../nanoserde/derive)

Answering your question - you want to use nanoserde if you want a cargo tree without said dependencies. If you are okay with them - all the other libraries are probably a better choice.

Answering your question - you want to use nanoserde if you want a cargo tree without said dependencies. If you are okay with them - all the other libraries are probably a better choice.

I would also be curious to know how this crate compares to serde and miniserde in terms of speed, compilation time, and binary size. serde is fast, but tends to generate bloated binaries; miniserde is slower but leaner (since it uses dynamic dispatch and is generally less optimized). Have you done any benchmarking against these crates by any chance?

I'm also curious - is there a reason I should be concerned about having those in the dependency tree?