Project's Logo

stevedunn/vogen.serialization

0/100

Vogen.Serialization is a package that provides serializers for Value Objects generated by Vogen, a Source Generator and code analyzer that creates Value Objects based on C# classes. Vogen is a semi-opinionated library, and this package is compatible only with Vogen version 1.0.16 and lower, as version 1.0.17 generates its own serialization attributes. The package contains serializers for both record structs and classes, and the following benchmarks demonstrate the relative performance of serializing ints and strings using native types, record structs, and Value Objects with both Newtonsoft.Json and System.Text.Json. The benchmarks show that there is some overhead to serializing Value Objects, but the times measured are extremely small. The tables include measurements for serializing with and without validation. To run the benchmarks, navigate to the tests\benchmarks folder and execute dotnet run -c Release -- --job short --filter *.

Project Information

Contribution Opportunities

  • Issues are available for contributions.
  • Project boards are active.
  • Wiki is available for documentation and guides.

License

Apache License 2.0

Recent Contributors

SteveDunn's avatar

SteveDunn

19 Contributions

stevedunnman's avatar

stevedunnman

1 Contributions