velocypack
velocypack copied to clipboard
Add VPack to Comparison of data serialization formats on Wikipedia
It deserves to be mentioned here:
https://en.wikipedia.org/wiki/Comparison_of_data_serialization_formats
@neunhoef: Please validate below template and fill in the gaps (IDL/API/zero-copy)
|-
| [[VelocyPack]]
| [[ArangoDB]]
| {{n/a}}
| {{no}}
| [https://github.com/arangodb/velocypack/blob/master/VelocyPack.md VelocyPack (VPack) Version 1 Specification]
| {{yes}}
| {{no}}
| {{partial}}{{ref|vpack1refs|g}}
| {{?Schema-Interface description language?}}
| {{?Standard APIs?}}
| {{?Supports Zero-copy operations?}}
And the note regarding references, to be added below the table and the other notes:
*g. {{note|vpack1refs}}VelocyPack offers a value type to store pointers to other VPack items. It is allowed if the VPack data resides in memory, but not if stored on disk or sent over a network.
Everything you have put there is OK, as far as I see. So far, there is no Schema-Interface description language. So far, there are no standard APIs, only a reference implementation. However, other formats say "yes for C++, etc. " here. We might as well say "C++ API reference implementation". For zero-copy operations, we simply say yes. Not entirely sure what they mean there.
Done. Also added VPack to the table a little further down (a bit wonky):
https://en.wikipedia.org/wiki/Comparison_of_data_serialization_formats#Comparison_of_binary_formats
I believe small integers are not zero-copy, because they need to be loaded into a buffer in order to subtract 0x29 or 0x39 respectively to get the actual value.