Core aycode behaviour, business logic or general models
Go to file
Loretta a945db9b09 High-perf streaming JSON (de)serialization, refactor
Major upgrade to AcJsonSerializer/AcJsonDeserializer:
- Add Utf8JsonReader/Writer fast-paths for streaming, allocation-free (de)serialization when reference handling is not needed, matching STJ performance.
- Populate/merge now uses streaming for in-place updates.
- Type metadata caches TypeCode, UnderlyingType, and uses frozen dictionaries for hot property lookup.
- Context pooling reduces allocations and GC pressure.
- Primitive (de)serialization uses TypeCode-based fast paths; improved enum, Guid, DateTime, etc. handling.
- Shared UTF8 buffer pool for efficient encoding/decoding.
- Pre-encoded property names and STJ writer for output.
- Improved validation, error handling, and double-serialization detection.
- Expanded benchmarks: small/medium/large, with/without refs, AyCode vs STJ vs Newtonsoft, grouped by scenario.
- General code modernization: aggressive inlining, ref params, ReferenceEquals, improved naming, and comments.
- Unified IId<T> and collection element detection; consistent $id/$ref handling.

Brings AyCode JSON (de)serializer to near-parity with STJ for non-ref scenarios, while retaining advanced features and improving maintainability and performance.
2025-12-12 16:23:54 +01:00
AyCode.Core High-perf streaming JSON (de)serialization, refactor 2025-12-12 16:23:54 +01:00
AyCode.Core.Server Enhance JSON handling and add hybrid reference support 2025-12-08 15:50:48 +01:00
AyCode.Core.Tests Refactor JSON (de)serialization: options, depth, utilities 2025-12-12 11:30:55 +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 Refactor JSON (de)serialization: options, depth, utilities 2025-12-12 11:30:55 +01:00
AyCode.Services.Server Improve JSON deserialization and observable collection handling 2025-12-11 23:46:30 +01:00
AyCode.Services.Server.Tests Refactor JSON/SignalR infra; add full test & benchmark suite 2025-12-11 21:25:50 +01:00
AyCode.Services.Tests Refactor JSON/SignalR infra; add full test & benchmark suite 2025-12-11 21:25:50 +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
BenchmarkSuite1 High-perf streaming JSON (de)serialization, refactor 2025-12-12 16:23:54 +01:00
.gitattributes first commit 2023-11-08 09:35:34 +01:00
.gitignore lot of improvements and new mstests... 2025-12-11 21:24:32 +01:00
AyCode.Core.sln Refactor JSON/SignalR infra; add full test & benchmark suite 2025-12-11 21:25:50 +01:00
AyCode.Core.targets CollectionExtensions UpdateCollectionById<TId> 2025-11-07 14:10:30 +01:00