Core aycode behaviour, business logic or general models
Go to file
Loretta 3b5a895fbc Add BSON to benchmarks; optimize AcBinary deserializer
- Add BSON (MongoDB.Bson) as a serialization format in benchmarks, enabling direct comparison with AcBinary, MessagePack, and JSON.
- Update all AcBinary benchmarks to use options without reference handling for fair comparison.
- Show BSON results and ratios in benchmark output and size comparisons.
- Refactor AcBinaryDeserializer to use a fixed-size array for type reader dispatch, improving lookup speed and reducing allocations.
- Add a concurrent cache for type conversion info to optimize enum and nullable conversions.
- Use a cached UTF8Encoding instance for string decoding.
- Use FrozenDictionary for property lookup in BinaryDeserializeTypeMetadata.
- Remove legacy WithRef code paths and clean up formatting and comments.
- Improve error handling and fallback logic for BSON serialization/deserialization.
2025-12-14 04:47:16 +01:00
AyCode.Benchmark Add BSON to benchmarks; optimize AcBinary deserializer 2025-12-14 04:47:16 +01:00
AyCode.Core Add BSON to benchmarks; optimize AcBinary deserializer 2025-12-14 04:47: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 Remove MessagePack; unify SignalR serialization model 2025-12-14 01:45:17 +01:00
AyCode.Services.Server Remove MessagePack; unify SignalR serialization model 2025-12-14 01:45:17 +01:00
AyCode.Services.Server.Tests Remove MessagePack; unify SignalR serialization model 2025-12-14 01:45:17 +01:00
AyCode.Services.Tests Remove MessagePack; unify SignalR serialization model 2025-12-14 01:45:17 +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 Add size_output.txt to .gitignore 2025-12-14 04:46:54 +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