Core aycode behaviour, business logic or general models
Go to file
Loretta 489ef7486c Optimize JSON/Brotli serialization for zero-allocation
Major performance improvements for SignalR message transport:
- BrotliHelper now uses ArrayPool and stackalloc for zero-allocation compression/decompression; added span/IBufferWriter overloads and pooled buffer support.
- AcJsonDeserializer supports direct deserialization from UTF-8 spans, with fast path for no reference handling.
- SignalResponseDataMessage uses pooled buffers for Brotli decompression and zero-copy deserialization; implements IDisposable for buffer return.
- IdMessage serialization optimized for primitives and Guids to avoid unnecessary allocations.
- Added JsonTo<T> span/byte[] extension methods for zero-allocation deserialization.
- All changes are backward compatible and reduce GC pressure for high-throughput scenarios.
2025-12-13 23:23:16 +01:00
AyCode.Benchmark Rename BenchmarkSuite1 to AyCode.Benchmark project 2025-12-13 10:11:39 +01:00
AyCode.Core Optimize JSON/Brotli serialization for zero-allocation 2025-12-13 23:23:16 +01:00
AyCode.Core.Server Enhance JSON handling and add hybrid reference support 2025-12-08 15:50:48 +01:00
AyCode.Core.Tests Fix binary deserializer string interning and add regressions 2025-12-13 00:12:21 +01:00
AyCode.Core.Tests.Internal Enhance JSON handling and add hybrid reference support 2025-12-08 15:50:48 +01:00
AyCode.Database Enhance JSON handling and add hybrid reference support 2025-12-08 15:50:48 +01:00
AyCode.Database.Tests microsoft packages update 2025-12-01 16:18:36 +01:00
AyCode.Database.Tests.Internal Refactor JSON/SignalR infra; add full test & benchmark suite 2025-12-11 21:25:50 +01:00
AyCode.Entities AcModelDtoExtension improvements 2025-09-12 13:36:11 +02:00
AyCode.Entities.Server Add .targets file 2025-08-31 13:07:34 +02:00
AyCode.Interfaces improvements, fixes 2025-11-26 09:42:00 +01:00
AyCode.Interfaces.Server Add .targets file 2025-08-31 13:07:34 +02:00
AyCode.Models Add .targets file 2025-08-31 13:07:34 +02:00
AyCode.Models.Server Add .targets file 2025-08-31 13:07:34 +02:00
AyCode.Services Optimize JSON/Brotli serialization for zero-allocation 2025-12-13 23:23:16 +01:00
AyCode.Services.Server Optimize JSON/Brotli serialization for zero-allocation 2025-12-13 23:23:16 +01:00
AyCode.Services.Server.Tests Unify SignalR response serialization (JSON/Binary/Brotli) 2025-12-13 23:01:18 +01:00
AyCode.Services.Tests Unify SignalR response serialization (JSON/Binary/Brotli) 2025-12-13 23:01:18 +01:00
AyCode.Utils microsoft packages update 2025-12-01 16:18:36 +01:00
AyCode.Utils.Server Add .targets file 2025-08-31 13:07:34 +02:00
.gitattributes first commit 2023-11-08 09:35:34 +01:00
.gitignore Centralize test/benchmark results; optimize deserializer 2025-12-13 09:59:18 +01:00
AyCode.Core.sln Rename BenchmarkSuite1 to AyCode.Benchmark project 2025-12-13 10:11:39 +01:00
AyCode.Core.targets CollectionExtensions UpdateCollectionById<TId> 2025-11-07 14:10:30 +01:00
Directory.Build.props Centralize test/benchmark results; optimize deserializer 2025-12-13 09:59:18 +01:00
test.runsettings Centralize test/benchmark results; optimize deserializer 2025-12-13 09:59:18 +01:00