ArangoDB-Community / arangodb-net-standard

A consistent, comprehensive, minimal interface to enable .NET applications to use the complete range of features exposed by the ArangoDB REST API.
Apache License 2.0
77 stars 30 forks source link

[Question] Nuget version 2.0.1 #474

Closed G012481632 closed 1 year ago

G012481632 commented 1 year ago

Hi, The nuget version is currently 2.0.1, does this mean the features of the roadmap for version 2 are implemented ? For instance Velocypack ? In the docs I cannot find anything on that. Thanks

DiscoPYF commented 1 year ago

Hi @G012481632 , the roadmap file is outdated and the current v2.0.1 doesn't match the roadmap file, which was drafted a long time ago. I'll make a note to update this file.

does this mean the features of the roadmap for version 2 are implemented ?

The major HTTP APIs have been implemented. If you spot one that's not implemented, feel free to open an issue (if one doesn't already exist).

For instance Velocypack ?

Velocypack isn't implemented. There is currently no plan to implement it, but we welcome contributions. We discussed it and wasn't considered a priority given the performance enhancement provided by new versions of the HTTP protocol.

G012481632 commented 1 year ago

Thanks @DiscoPYF for the answer.

Just one more question : As you mentioned, newer versions of HTTP are faster, but isn't the faster (de)serializing of the objects the main reason one would prefer Velocypack ? Json serialization in c# is slow as hell (unless you pick for instance UTF8Json). If you continuous read from and write to the db, that should have a significant impact on performance (and memory).

DiscoPYF commented 1 year ago

You're right that serialization also incurs a performance cost. If you have specific performance requirements, you could create a custom implementation of IApiClientSerialization that uses System.Text.Json.

I will close this issue now that the question has been answered. Feel free to reopen if needed.