Releases: KxSystems/csharpkdb
Version 1.5.0
What's Changed
- Improved SSL/TLS control. See docs/README.md for details on SSL/TLS connections.
Full Changelog: 1.4.0...1.5.0
Version 1.4.0
What's Changed
- imported documentation from code.kx.com
- note about msg size limits in (see docs/README.md)
- QueryResponseDemo demonstrates more type mapping
- Update docs on type mapping
- Removed various build warnings
- Ability to connect via Unix Domain Sockets (see docs/README.md)
- Update details of demos and how to run (see docs/README.md)
- targetframework updated to include net8.0 i.e. now netstandard2.1;net8.0
- Performance improvements to serialise/deserialise of the following, include vector types
- Guid
- StringArray
- Float
- Double
- Char
- Long
- Int
- Byte
for example, before
| Method | Number | Mean | Error | StdDev | Median | Max | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|---|
| ConnectionSerialisesAndDeserialisesLongArrayInput | 1000 | 39.23 us | 0.520 us | 0.486 us | 39.28 us | 40.12 us | 7.7515 | - | - | 23.87 KB |
| ConnectionSerialisesAndDeserialisesLongArrayInput | 10000 | 396.60 us | 1.907 us | 1.592 us | 396.86 us | 399.56 us | 74.7070 | 12.2070 | - | 234.8 KB |
| ConnectionSerialisesAndDeserialisesLongArrayInput | 100000 | 4,466.02 us | 82.125 us | 76.819 us | 4,477.61 us | 4,580.76 us | 500.0000 | 500.0000 | 500.0000 | 2344.27 KB |
| ConnectionSerialisesAndDeserialisesLongArrayInput | 500000 | 21,951.52 us | 428.773 us | 654.782 us | 21,841.00 us | 23,078.23 us | 437.5000 | 437.5000 | 437.5000 | 11719.2 KB |
after
| Method | Number | Mean | Error | StdDev | Median | Max | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|---|
| ConnectionSerialisesAndDeserialisesLongArrayInput | 1000 | 9.253 us | 0.0742 us | 0.0580 us | 9.247 us | 9.332 us | 5.2185 | - | - | 16.02 KB |
| ConnectionSerialisesAndDeserialisesLongArrayInput | 10000 | 86.391 us | 1.6120 us | 1.3461 us | 85.947 us | 89.840 us | 49.9268 | - | - | 156.65 KB |
| ConnectionSerialisesAndDeserialisesLongArrayInput | 100000 | 1,578.945 us | 14.4374 us | 13.5048 us | 1,579.003 us | 1,602.180 us | 498.0469 | 498.0469 | 498.0469 | 1562.93 KB |
| ConnectionSerialisesAndDeserialisesLongArrayInput | 500000 | 5,721.731 us | 74.3058 us | 69.5057 us | 5,748.796 us | 5,799.110 us | 492.1875 | 492.1875 | 492.1875 | 7812.91 KB |
before
| Method | Number | Mean | Error | StdDev | Median | Max | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|---|
| ConnectionSerialisesAndDeserialisesDoubleArrayInput | 1000 | 40.63 us | 1.648 us | 1.692 us | 39.76 us | 43.85 us | 5.1880 | - | - | 16.02 KB |
| ConnectionSerialisesAndDeserialisesDoubleArrayInput | 10000 | 390.08 us | 3.518 us | 3.291 us | 390.15 us | 395.15 us | 49.8047 | - | - | 156.65 KB |
| ConnectionSerialisesAndDeserialisesDoubleArrayInput | 100000 | 4,639.61 us | 27.369 us | 24.262 us | 4,639.55 us | 4,683.61 us | 492.1875 | 492.1875 | 492.1875 | 1563 KB |
| ConnectionSerialisesAndDeserialisesDoubleArrayInput | 500000 | 21,127.70 us | 247.101 us | 231.138 us | 21,043.28 us | 21,583.93 us | 406.2500 | 406.2500 | 406.2500 | 7812.91 KB |
after
| Method | Number | Mean | Error | StdDev | Median | Max | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|---|
| ConnectionSerialisesAndDeserialisesDoubleArrayInput | 1000 | 10.96 us | 0.094 us | 0.088 us | 10.96 us | 11.16 us | 5.2185 | - | - | 16.02 KB |
| ConnectionSerialisesAndDeserialisesDoubleArrayInput | 10000 | 102.30 us | 0.442 us | 0.392 us | 102.26 us | 103.13 us | 49.9268 | - | - | 156.65 KB |
| ConnectionSerialisesAndDeserialisesDoubleArrayInput | 100000 | 1,763.78 us | 12.486 us | 11.068 us | 1,764.14 us | 1,786.50 us | 498.0469 | 498.0469 | 498.0469 | 1562.92 KB |
| ConnectionSerialisesAndDeserialisesDoubleArrayInput | 500000 | 6,189.99 us | 123.526 us | 121.319 us | 6,236.03 us | 6,338.35 us | 492.1875 | 492.1875 | 492.1875 | 7812.92 KB |
Full Changelog: 1.3.0...1.4.0
Version 1.3.0
Can throw a KException (rather than a general Exception) when Serialize fails.
Version 1.2.0
now offers new awaitable async methods for any method that made use of the underlying TCP stream synchronously but described itself as async
Version 1.1.0
Issue 38 (#52)
Version 1.1.0-beta
Add IsZipEnabled and Compress functionality for Serialize method
Renamed u() to UnCompress()
Add properties for if the current message is IsResponse, IsSync or IsCompressed
Expose ability to read from stream and write bytes directly to stream to protected level to support IPC operations for client implementations
Reduce code repetition and bring into line with java code-base
Refactor k() to
-> k0
-> ParseHeader
-> ParseException
Refactor w to use Serialize method
Added additional
public void ks(object x)
public void kn(object x)
public void kr(object x)
Changes to unit-tests
added constructor for injecting mock stream
added unit-tests for sync write to underlying client-stream
added unit-tests for async write to underlying client-stream
Version 1.0.0
Initial release of C# API to KDB+
Version 0.1.1-beta
Includes fix for nuget release
Initial public release
Initial release representing new build system, quality checks & xml docs.