Documentation
The documentation site is at zcsizmadia.github.io/AvroSharp, built from these pages and the API's XML documentation.
Guides
- Guide: getting started, the generic data model, container files and codecs, single-object messages and schema registries, and streams.
- Code generation: the
AvroSharp.Generatorssource generator: setup, MSBuild properties, type mapping, schema evolution, diagnostics, and moving from avrogen. - Command-line tool:
avrosharp gen,schema canonicalandschema fingerprint, exit codes, and use in CI. - Samples: runnable programs for the main APIs, run by CI.
Reference
- API reference: every public type, from the XML documentation.
- Benchmarks: the results against Apache.Avro, what is measured, and how to run the suite and the performance gate.
- AvroSharp and Apache.Avro: what differs, when Apache.Avro is the better fit, and how to migrate.
- Design: the design proposal, the decisions made since, and how the repository differs from the proposal.
- Roadmap: the status of each milestone and where the open work is tracked.
- Fuzzing: the libFuzzer targets and how to run them.
- Contributing: building, testing, formatting and pull requests.
- Changelog: what changed, newest first.
Reviews and measurements
Dated notes from reviews and benchmark runs. Each one records what was measured, on which machines, and what it led to.
| Date | Note |
|---|---|
| 2026-09-25 | Performance review: the hot paths against Apache.Avro, and the follow-up issues |
| 2026-09-26 | Benchmarks on 64K data: 64K random values on an i7-12800H and an EPYC 7543 |
| 2026-09-26 | Branchless varints: branchless varint encoding on the same machines |
| 2026-09-26 | Hybrid varints: the hybrid varint encoder and its open questions |
| 2026-09-26 | EPYC varints: varint performance on AMD EPYC |
| 2026-09-26 | Generated code: generated serializers against the generic model and Apache.Avro |
| 2026-09-28 | Full benchmark run: every benchmark on an i7-12800H with .NET 10, as speed-ups over Apache.Avro |
| 2026-09-28 | perf/varints-parse benchmarks: bulk reads, varint encode and schema parsing on an i5-3570K and a Ryzen 5 3500U |
| 2026-09-28 | perf/varints-parse at 41d6483: the second run on both machines, with the record and container benchmarks |
| 2026-09-28 | perf/varints-parse on CPUs with fast PDEP: the i7-12800H and an EPYC 7543 at 8164630, and the bulk Mixed1-10 fix |
| 2026-09-28 | perf/varints-parse on CPUs without fast PDEP: the i5-3570K and the nas at 8164630, the full suite |