SIMD Utf8Transcoder.GetUtf8ByteCount + test suite Introduced SIMD-accelerated Utf8Transcoder.GetUtf8ByteCount for efficient UTF-8 byte counting, replacing all writer-side Encoding.UTF8.GetByteCount usages. Added 29 unit tests for correctness across ASCII, Hungarian, CJK, emoji, and boundary cases. Updated benchmarks to ensure FixStr is bypassed and wire mode is selectable. Documented implementation and dead-code review in BINARY_TODO.md. No public API changes. |
||
|---|---|---|
| .. | ||
| AcBinaryDateTimeSerializationTests.cs | ||
| AcBinarySerializerBasicTests.cs | ||
| AcBinarySerializerBenchmarkTests.cs | ||
| AcBinarySerializerChainReferenceTests.cs | ||
| AcBinarySerializerChainTests.cs | ||
| AcBinarySerializerCircularReferenceTests.cs | ||
| AcBinarySerializerDateTimeTests.cs | ||
| AcBinarySerializerDiagnosticTests.cs | ||
| AcBinarySerializerGenericTypeTests.cs | ||
| AcBinarySerializerIIdReferenceTests.cs | ||
| AcBinarySerializerNamedPipeTests.cs | ||
| AcBinarySerializerNavigationPropertyTests.cs | ||
| AcBinarySerializerNullableTests.cs | ||
| AcBinarySerializerObjectTests.cs | ||
| AcBinarySerializerPipeParallelTests.cs | ||
| AcBinarySerializerStringInterningTests.cs | ||
| AcExpressionNodeSerializationTests.cs | ||
| AcJsonSerializerChainTests.cs | ||
| AcJsonSerializerIIdReferenceTests.cs | ||
| AcSerializerTestHelper.cs | ||
| AsyncPipeReaderInputExtensions.cs | ||
| ChainReferenceDebugTest.cs | ||
| GeneratedSerializerIntegrationTests.cs | ||
| QuickBenchmark.cs | ||
| README.md | ||
| Utf8TranscoderTests.cs | ||
README.md
Serialization Tests
Comprehensive test suite for binary and JSON serialization: round-trips, reference handling, chains, and source generator integration.
Key Files
Basic Types
AcBinarySerializerBasicTests.cs— Primitives: int, double, string, bool, DateTime, Guid.AcBinarySerializerDateTimeTests.cs— DateTime handling and type mismatch detection.AcBinarySerializerNullableTests.cs— Nullable types: int?, long?, etc.
Complex Objects
AcBinarySerializerObjectTests.cs— Nested objects and hierarchies.AcBinarySerializerNavigationPropertyTests.cs— EF-style navigation properties.AcBinarySerializerGenericTypeTests.cs— Generic type parameters.
Reference Handling
AcBinarySerializerChainTests.cs— Binary Chain API (CreateDeserializeChain, ThenDeserialize).AcBinarySerializerChainReferenceTests.cs— Chain with $id/$ref references.AcBinarySerializerCircularReferenceTests.cs— Circular/bidirectional references.AcBinarySerializerIIdReferenceTests.cs— IId interface-based reference tracking.AcBinarySerializerStringInterningTests.cs— String deduplication via [AcStringIntern].
JSON
AcJsonSerializerChainTests.cs— JSON chain operations.AcJsonSerializerIIdReferenceTests.cs— JSON $id/$ref handling.AcExpressionNodeSerializationTests.cs— Expression tree serialization.
Source Generator & Performance
GeneratedSerializerIntegrationTests.cs— Verifies generated writer types implement IGeneratedBinaryWriter.QuickBenchmark.cs— Performance comparison: AcBinary vs MessagePack.AcSerializerTestHelper.cs— Factory methods for test data.