Repository navigation
- Fewer allocations when reading lists of primitives. A
List<T>ofint,long,decimal,double,bool,Guid,DateTimeand the other primitive types used to be read element by element into aList<object>, boxing each one, and then copied into the real list. When every element carries the type's own token it is now read straight into aList<T>. For 1,000 elements, aList<int>allocates 8,736 B instead of 45,048 B and aList<decimal>33,264 B instead of 65,048 B. A list with anything else in it (another width, a null, damaged bytes) is finished by the previous code, so the result, or the exception, is the same as before; this is checked against the old path for 15 element types as root and member, plus 600 seeded damaged payloads. - A list read this way is trimmed when it is longer than 64 elements and growth left it with spare capacity, so it does not hold up to twice its content.
- SECURITY.md now lists 0.4.x as the supported line.
- README and
docs/benchmarks.mdare re-measured. The benchmark corpus has no primitive-list member, so the tables show no change from this release; only the noisy cells moved. - No change to the wire format or to the public API.
Package: https://www.nuget.org/packages/DuraIT.FastBinaryJson/0.4.2