Documentation

The documentation site is at avrosharp.github.io/AvroSharp, built from these pages and the API's XML documentation.

Guides

  • Getting started: installing, a first program, and a page per task, each built from a sample: generated types, container files, schema evolution, logical types and JSON.
  • Guide: getting started, the generic data model, container files and codecs, single-object messages and schema registries, and streams.
  • Code generation: the AvroSharp.Generators source generator: setup, MSBuild properties, type mapping, schema evolution, diagnostics, and moving from avrogen.
  • Command-line tool: avrosharp gen, schema canonical, schema fingerprint and schema compat, exit codes, and use in CI.
  • Integrations: schema registries and message brokers, AvroSharp.Confluent for Confluent.Kafka, AvroSharp.KafkaFlow for KafkaFlow, AvroSharp.Azure.SchemaRegistry for Azure Schema Registry, and AvroSharp.Aws.Glue for AWS Glue Schema Registry.
  • Confluent Schema Registry and Kafka: AvroSharp.Confluent's serializers for Confluent.Kafka, their settings, and moving from Confluent's Avro serializer and from Chr.Avro.
  • KafkaFlow: AvroSharp.KafkaFlow's serializer middleware for KafkaFlow, several record types per topic, and moving from KafkaFlow's Confluent Avro serializer.
  • Azure Schema Registry: AvroSharp.Azure.SchemaRegistry's serializer for Event Hubs and Service Bus messages, and moving from Microsoft's Avro serializer.
  • AWS Glue Schema Registry: AvroSharp.Aws.Glue's managed serializer for Kafka and Kinesis, its settings, and moving from AWS's native serializer.
  • Samples: runnable programs for the main APIs, run by CI.

Reference

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
2026-09-30 Ecosystem integrations spike: an AvroSharp.Confluent prototype on Confluent's serde classes, and which add-on packages to build (#78)
2026-10-01 [AvroSerializable] types: the attribute-driven generator's serializers against generated code, the generic model and Apache.Avro on an EPYC 7543 (#31)