From 04db4c941799bfbfac666160e7b4298716649a7f Mon Sep 17 00:00:00 2001 From: Jasper Ras Date: Tue, 15 Jul 2025 20:32:57 +0200 Subject: vault backup: 2025-07-15 20:32:57 --- Protocol Buffers - protobuf.dev.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Protocol Buffers - protobuf.dev.md (limited to 'Protocol Buffers - protobuf.dev.md') diff --git a/Protocol Buffers - protobuf.dev.md b/Protocol Buffers - protobuf.dev.md new file mode 100644 index 0000000..9bd83c6 --- /dev/null +++ b/Protocol Buffers - protobuf.dev.md @@ -0,0 +1,20 @@ +Protocol buffer messages are often loaded in to memory completely. So large data is not a good fit. Usually not more than a few MBs. + +The same data can have many different forms of binary serialization when it is serialized, therefore serialized data (messages) cannot be compared. + +Messages are not compressed. They can be compresses with zip/gzip but to obtain maximum compression use specialized compression algorithms such as ones used by JPEG/PNG. + +Protocol buffers are not maximally efficient for large multi-dimensional arrays or floating point numbers. + +Not well supported in non-object oriented languages. + +Protocol buffer messages require their schema to be interpreted correctly. + + +--- + +# Workflow +1. Write .proto schema +2. Generate code using `protoc` compiler +3. Compile generated protobuf code together with project +4. Use Protobuff classes to serialize, share and deserialize data \ No newline at end of file -- cgit v1.2.3